ATY_LIB V2_102_230218
ATY_LIB for general devices or ALGO
 
Loading...
Searching...
No Matches
fw_cid_stc8h.h
Go to the documentation of this file.
1// Copyright 2021 IOsetting <iosetting(at)outlook.com>
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#ifndef __FW_CID_STC8H_H__
16#define __FW_CID_STC8H_H__
17
18#include "fw_reg_base.h"
19
20#if (__CONF_MCU_MODEL == MCU_MODEL_STC8H1K08 )
21 #define __CID_ADDR 0x1FE7
22#elif (__CONF_MCU_MODEL == MCU_MODEL_STC8H1K12 )
23 #define __CID_ADDR 0x2FE7
24#elif (__CONF_MCU_MODEL == MCU_MODEL_STC8H1K16 )
25 #define __CID_ADDR 0x3FE7
26#elif (__CONF_MCU_MODEL == MCU_MODEL_STC8H1K17 )
27 #define __CID_ADDR 0x43E7
28#elif (__CONF_MCU_MODEL == MCU_MODEL_STC8H1K24 )
29 #define __CID_ADDR 0x5FE7
30#elif (__CONF_MCU_MODEL == MCU_MODEL_STC8H1K28 )
31 #define __CID_ADDR 0x6FE7
32#elif (__CONF_MCU_MODEL == MCU_MODEL_STC8H1K33 )
33 #define __CID_ADDR 0x83E7
34#elif (__CONF_MCU_MODEL == MCU_MODEL_STC8H3K32S4 ) || \
35 (__CONF_MCU_MODEL == MCU_MODEL_STC8H3K32S2 ) || \
36 (__CONF_MCU_MODEL == MCU_MODEL_STC8H2K32T ) || \
37 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K32TLR ) || \
38 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K32TLCD ) || \
39 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K32LCD ) || \
40 (__CONF_MCU_MODEL == MCU_MODEL_STC8H8K32U )
41 #define __CID_ADDR 0x7FE7
42#elif (__CONF_MCU_MODEL == MCU_MODEL_STC8H3K48S4 ) || \
43 (__CONF_MCU_MODEL == MCU_MODEL_STC8H3K48S2 ) || \
44 (__CONF_MCU_MODEL == MCU_MODEL_STC8H2K48T ) || \
45 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K48TLR ) || \
46 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K48TLCD ) || \
47 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K48LCD ) || \
48 (__CONF_MCU_MODEL == MCU_MODEL_STC8H8K48U )
49 #define __CID_ADDR 0xBFE7
50#elif (__CONF_MCU_MODEL == MCU_MODEL_STC8H3K60S4 ) || \
51 (__CONF_MCU_MODEL == MCU_MODEL_STC8H3K60S2 ) || \
52 (__CONF_MCU_MODEL == MCU_MODEL_STC8H2K60T ) || \
53 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K60TLR ) || \
54 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K60TLCD ) || \
55 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K60LCD ) || \
56 (__CONF_MCU_MODEL == MCU_MODEL_STC8H8K60U )
57 #define __CID_ADDR 0xEFE7
58#elif (__CONF_MCU_MODEL == MCU_MODEL_STC8H3K64S4 ) || \
59 (__CONF_MCU_MODEL == MCU_MODEL_STC8H3K64S2 ) || \
60 (__CONF_MCU_MODEL == MCU_MODEL_STC8H2K64T ) || \
61 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K64TLR ) || \
62 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K64TLCD ) || \
63 (__CONF_MCU_MODEL == MCU_MODEL_STC8H4K64LCD ) || \
64 (__CONF_MCU_MODEL == MCU_MODEL_STC8H8K64U )
65 #define __CID_ADDR 0xFDE7
66#endif
67
68#define ID_ROMADDR ( (unsigned char __CODE *)(__CID_ADDR + 18)) // MCU ID 7 bytes
69#define VREF_ROMADDR (*(unsigned int __CODE *)(__CID_ADDR + 16)) //1.19Vref
70#define F32K_ROMADDR (*(unsigned int __CODE *)(__CID_ADDR + 14)) //32kHz frequency
71#define T22M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 13)) //22.1184MHz (20M)
72#define T24M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 12)) //24MHz (20M)
73#define T20M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 11)) //20MHz (20M)
74#define T27M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 10)) //27MHz (35M)
75#define T30M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 9)) //30MHz (35M)
76#define T33M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 8)) //33.1776MHz (35M)
77#define T35M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 7)) //35MHz (35M)
78#define T36M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 6)) //36.864MHz (35M)
79#define T40M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 5)) //
80#define T45M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 4)) //
81#define VRT20M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 3)) //VRTRIM of IRCBAND 0
82#define VRT35M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 2)) //VRTRIM of IRCBAND 1
83#define VRT24M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 1)) //VRTRIM of IRCBAND 2
84#define VRT40M_ROMADDR (*(unsigned char __CODE *)(__CID_ADDR + 0)) //VRTRIM of IRCBAND 3
85
86#endif