Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1186 | savelij | 1 | ifndef __stm8af62x6inc ; avoid multiple inclusion |
2 | __stm8af62x6inc equ 1 |
||
3 | |||
4 | save |
||
5 | listing off ; no listing over this file |
||
6 | |||
7 | ;**************************************************************************** |
||
8 | ;* * |
||
9 | ;* AS 1.42 - File REG62X6.INC * |
||
10 | ;* * |
||
11 | ;* contains SFR and Bit Definitions for STM8AF6246/48/66/68 * |
||
12 | ;* source: DocID14952 Rev 11 * |
||
13 | ;* * |
||
14 | ;**************************************************************************** |
||
15 | |||
16 | ;---------------------------------------------------------------------------- |
||
17 | ; Memory Addresses |
||
18 | |||
19 | E2START label $4000 ; start address internal EEPROM |
||
20 | if SUBSTR(MOMCPUNAME,8,1)=="4" |
||
21 | E2END label E2START+$01ff ; 6248/6246: 0.5K EEPROM |
||
22 | elseif |
||
23 | E2END label E2START+$03ff ; 6268/6266: 1K EEPROM |
||
24 | endif |
||
25 | |||
26 | FLASHSTART label $8000 ; start address internal Flash |
||
27 | |||
28 | RAMSTART label $0000 ; start address internal RAM |
||
29 | RAMEND label $07ff ; end " " " |
||
30 | |||
31 | BLSTART label $6000 ; start address boot loader |
||
32 | BLEND label $67ff ; end " " " |
||
33 | |||
34 | ;---------------------------------------------------------------------------- |
||
35 | ; Option Bytes |
||
36 | |||
37 | OPT0 label $4800 ; Read-out protection |
||
38 | ROP bfield OPT0,0,8 |
||
39 | OPT1 label $4801 ; User boot code |
||
40 | UBC bfield OPT1,0,6 |
||
41 | NOPT1 label $4802 |
||
42 | NUBC bfield NOPT1,0,6 |
||
43 | OPT2 label $4803 ; Alternate function remapping |
||
44 | AFR bfield OPT2,0,8 |
||
45 | NOPT2 label $4804 |
||
46 | NAFR bfield NOPT2,0,8 |
||
47 | OPT3 label $4805 ; Misc. option |
||
48 | OPT_HSITRIM bit OPT3,4 ; high-speed internal clock trimming register size |
||
49 | LSI_EN bit OPT3,3 ; Low speed internal clock enable |
||
50 | IWDG_HW bit OPT3,2 ; Independent watchdog activation |
||
51 | WWDG_HW bit OPT3,1 ; Window watchdog activation |
||
52 | WWDG_HALT bit OPT3,0 ; Window watchdog reset on Halt |
||
53 | NOPT3 label $4806 |
||
54 | NHSITRIM bit NOPT3,4 |
||
55 | NLSI_EN bit NOPT3,3 |
||
56 | NIWDG_HW bit NOPT3,2 |
||
57 | NWWDG_HW bit NOPT3,1 |
||
58 | NWWDG_HALT bit NOPT3,0 |
||
59 | OPT4 label $4807 ; Clock option |
||
60 | EXTCLK bit OPT4,3 ; External clock selection |
||
61 | CKAWUSEL bit OPT4,2 ; Auto-wakeup unit/clock |
||
62 | PRSC bfield OPT4,0,2 ; AWU clock prescaler |
||
63 | NOPT4 label $4808 |
||
64 | NEXTCLK bit NOPT4,3 |
||
65 | NCKAWUSEL bit NOPT4,2 |
||
66 | NPRSC bfield NOPT4,0,2 |
||
67 | OPT5 label $4809 ; HSE clock startup |
||
68 | HSECNT bfield OPT5,0,8 ; HSE crystal oscillator stabilization time |
||
69 | NOPT5 label $480a |
||
70 | NHSECNT bfield NOPT5,0,8 |
||
71 | OPT6 label $480b ; TMU |
||
72 | TMU bfield OPT6,0,8 ; Enable temporary memory unprotection |
||
73 | NOPT6 label $480c |
||
74 | NTMU bfield NOPT6,0,8 |
||
75 | OPT7 label $480d ; Flash Wait States |
||
76 | WAITSTATE bit OPT7,0 |
||
77 | NOPT7 label $480e |
||
78 | NWAITSTATE bit OPT7,0 |
||
79 | OPT8 label $4810 ; TMU |
||
80 | TMU_KEY1 bfield OPT8,0,8 |
||
81 | OPT9 label $4811 |
||
82 | TMU_KEY2 bfield OPT9,0,8 |
||
83 | OPT10 label $4812 |
||
84 | TMU_KEY3 bfield OPT10,0,8 |
||
85 | OPT11 label $4813 |
||
86 | TMU_KEY4 bfield OPT11,0,8 |
||
87 | OPT12 label $4814 |
||
88 | TMU_KEY5 bfield OPT12,0,8 |
||
89 | OPT13 label $4815 |
||
90 | TMU_KEY6 bfield OPT13,0,8 |
||
91 | OPT14 label $4816 |
||
92 | TMU_KEY7 bfield OPT14,0,8 |
||
93 | OPT15 label $4817 |
||
94 | TMU_KEY8 bfield OPT15,0,8 |
||
95 | OPT16 label $4818 |
||
96 | TMU_MAXATT bfield OPT16,0,8 |
||
97 | OPT17 label $487e ; Boot Loader |
||
98 | BL bfield OPT17,0,8 |
||
99 | NOPT17 label $487f |
||
100 | NBL bfield NOPT17,0,8 |
||
101 | |||
102 | ;---------------------------------------------------------------------------- |
||
103 | ; Vectors |
||
104 | |||
105 | RESET_vect label $8000 ; Reset |
||
106 | TRAP_vect label $8004 ; Software interrupt |
||
107 | TLI_vect label $8008 ; External top level interrupt |
||
108 | AWU_vect label $800c ; Auto wake up from halt |
||
109 | CLK_vect label $8010 ; Clock controller |
||
110 | EXTI0_vect label $8014 ; Port A external interrupts |
||
111 | EXTI1_vect label $8018 ; Port B external interrupts |
||
112 | EXTI2_vect label $801c ; Port C external interrupts |
||
113 | EXTI3_vect label $8020 ; Port D external interrupts |
||
114 | EXTI4_vect label $8024 ; Port E external interrupts |
||
115 | SPI_vect label $8030 ; End of transfer |
||
116 | TIM1_vect label $8034 ; TIM1 update/overflow/underflow/trigger/break |
||
117 | TIM1_CAPT_vect label $8038 ; TIM1 capture/compare |
||
118 | TIM2_vect label $803c ; TIM2 update/overflow/underflow/trigger/break |
||
119 | TIM2_CAPT_vect label $8040 ; TIM2 capture/compare |
||
120 | TIM3_vect label $8044 ; TIM3 update/overflow/underflow/trigger/break |
||
121 | TIM3_CAPT_vect label $8048 ; TIM3 capture/compare |
||
122 | I2C_vect label $8054 ; I2C interrupt |
||
123 | LINUART_TX_vect label $8058 ; Tx complete |
||
124 | LINUART_RX_vect label $805c ; Receive register DATA FULL |
||
125 | ADC_vect label $8060 ; ADC1 end of conversion/analog watchdog interrupt |
||
126 | TIM4_vect label $8064 ; TIM4 update/overflow |
||
127 | EEPROM_vect label $8068 ; EOP/WR_PG_DIS |
||
128 | |||
129 | ;---------------------------------------------------------------------------- |
||
130 | ; GPIO |
||
131 | |||
132 | include "stm8/stm8s/gpio.inc" |
||
133 | __defgpio "PA",$5000 |
||
134 | __defgpio "PB",$5005 |
||
135 | __defgpio "PC",$500a |
||
136 | __defgpio "PD",$500f |
||
137 | __defgpio "PE",$5014 |
||
138 | __defgpio "PF",$5019 |
||
139 | __defgpio "PG",$501e |
||
140 | |||
141 | ;---------------------------------------------------------------------------- |
||
142 | ; Flash |
||
143 | |||
144 | include "stm8/stm8s/flash.inc" |
||
145 | __defflash $505a |
||
146 | |||
147 | ;---------------------------------------------------------------------------- |
||
148 | ; Interrupt Controller |
||
149 | |||
150 | include "stm8/stm8s/itc.inc" |
||
151 | __defexti $50a0,7 |
||
152 | __defitc $7f70,30 |
||
153 | |||
154 | ;---------------------------------------------------------------------------- |
||
155 | ; Reset Controller |
||
156 | |||
157 | include "stm8/stm8s/rst.inc" |
||
158 | __defrst $50b3 |
||
159 | |||
160 | ;---------------------------------------------------------------------------- |
||
161 | ; Clock Controller |
||
162 | |||
163 | include "stm8/stm8s/clk.inc" |
||
164 | __defclk $50c0 |
||
165 | |||
166 | ;---------------------------------------------------------------------------- |
||
167 | ; Window Watchdog |
||
168 | |||
169 | include "stm8/stm8s/wwdg.inc" |
||
170 | __defwwdg $50d1 |
||
171 | |||
172 | ;---------------------------------------------------------------------------- |
||
173 | ; Independent Watchdog |
||
174 | |||
175 | include "stm8/stm8s/iwdg.inc" |
||
176 | __defiwdg $50e0 |
||
177 | |||
178 | ;---------------------------------------------------------------------------- |
||
179 | ; AWU |
||
180 | |||
181 | include "stm8/stm8s/awu.inc" |
||
182 | __defawu $50f0 |
||
183 | |||
184 | ;---------------------------------------------------------------------------- |
||
185 | ; Beeper |
||
186 | |||
187 | include "stm8/stm8s/beep.inc" |
||
188 | __defbeep $50f3 |
||
189 | |||
190 | ;---------------------------------------------------------------------------- |
||
191 | ; Serial Peripheral Interface |
||
192 | |||
193 | include "stm8/stm8s/spi.inc" |
||
194 | __defspi $5200 |
||
195 | |||
196 | ;---------------------------------------------------------------------------- |
||
197 | ; I2C |
||
198 | |||
199 | include "stm8/stm8s/i2c.inc" |
||
200 | __defi2c $5210 |
||
201 | |||
202 | ;---------------------------------------------------------------------------- |
||
203 | ; LINUART (TODO: no CR5) |
||
204 | |||
205 | include "stm8/stm8s/uart2.inc" |
||
206 | __defusart2 "UART2",$5240 |
||
207 | |||
208 | ;---------------------------------------------------------------------------- |
||
209 | ; Timer 1 |
||
210 | |||
211 | include "stm8/stm8s/tim1.inc" |
||
212 | __deftim1 $5250 |
||
213 | |||
214 | ;---------------------------------------------------------------------------- |
||
215 | ; Timer 2 |
||
216 | |||
217 | include "stm8/stm8s/tim2.inc" |
||
218 | __deftim2 $5300,0 |
||
219 | |||
220 | ;---------------------------------------------------------------------------- |
||
221 | ; Timer 3 |
||
222 | |||
223 | include "stm8/stm8s/tim3.inc" |
||
224 | __deftim3 $5320,0 |
||
225 | |||
226 | ;---------------------------------------------------------------------------- |
||
227 | ; Timer 4 |
||
228 | |||
229 | include "stm8/stm8s/tim4.inc" |
||
230 | __deftim4 $5340,0 |
||
231 | |||
232 | ;---------------------------------------------------------------------------- |
||
233 | ; A/D Converter 1 |
||
234 | |||
235 | include "stm8/stm8s/adc1.inc" |
||
236 | __defadc1 "ADC",$53e0,$5400 |
||
237 | |||
238 | ;---------------------------------------------------------------------------- |
||
239 | ; Temporary Memory Unprotection |
||
240 | |||
241 | include "tmu.inc" |
||
242 | __deftmu $5800 |
||
243 | |||
244 | ;---------------------------------------------------------------------------- |
||
245 | ; CPU |
||
246 | |||
247 | include "stm8/cpuregs.inc" |
||
248 | __defcpuregs $7f00 |
||
249 | |||
250 | ;---------------------------------------------------------------------------- |
||
251 | ; Single Wire Interface Module |
||
252 | |||
253 | include "stm8/swim.inc" |
||
254 | __defswim $7f80 |
||
255 | |||
256 | ;---------------------------------------------------------------------------- |
||
257 | ; Debug Module |
||
258 | |||
259 | include "stm8/dm.inc" |
||
260 | __defdm $7f90 |
||
261 | |||
262 | restore ; allow again |
||
263 | |||
264 | endif ; __stm8af62x6inc |