Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1186 | savelij | 1 | ifndef __stm8l31x6inc ; avoid multiple inclusion |
2 | __stm8l31x6inc equ 1 |
||
3 | |||
4 | save |
||
5 | listing off ; no listing over this file |
||
6 | |||
7 | ;**************************************************************************** |
||
8 | ;* * |
||
9 | ;* AS 1.42 - File REG31X6.INC * |
||
10 | ;* * |
||
11 | ;* contains SFR and Bit Definitions for STM8AL313x/4x/6x * |
||
12 | ;* source: DS7106 Rev 9 * |
||
13 | ;* * |
||
14 | ;**************************************************************************** |
||
15 | |||
16 | ;---------------------------------------------------------------------------- |
||
17 | ; Memory Addresses |
||
18 | |||
19 | E2START label $1000 ; start address internal EEPROM |
||
20 | E2END label E2START+1023 ; end " " " |
||
21 | |||
22 | FLASHSTART label $8000 ; start address internal Flash |
||
23 | |||
24 | RAMSTART label $0000 ; start address internal RAM |
||
25 | RAMEND label $07ff ; end " " " |
||
26 | |||
27 | BLSTART label $6000 ; start address boot loader |
||
28 | BLEND label $67ff ; end " " " |
||
29 | |||
30 | ;---------------------------------------------------------------------------- |
||
31 | ; Unique Id |
||
32 | |||
33 | include "stm8/stm8s/uid.inc" |
||
34 | __defuid $4926 |
||
35 | |||
36 | ;---------------------------------------------------------------------------- |
||
37 | ; Factory conversion registers |
||
38 | |||
39 | VREFINT_Factory_CONV label $4910 ; Value of the internal reference voltage measured during the factory phase |
||
40 | TS_Factory_CONV_V125 label $4911 ; Value of the temperature sensor output voltage measured during the factory phase |
||
41 | |||
42 | ;---------------------------------------------------------------------------- |
||
43 | ; Option Bytes |
||
44 | |||
45 | OPT0 label $4800 ; Read-out protection |
||
46 | ROP bfield OPT0,0,8 ; Memory readout protection |
||
47 | OPT1 label $4802 ; User boot code size |
||
48 | UBC bfield OPT1,0,8 ; Size of the user boot code area |
||
49 | OPT3 label $4808 ; Independent watchdog option |
||
50 | IWDG_HW bit OPT3,0 ; Independent watchdog activated by SW/HW |
||
51 | IWDG_HALT bit OPT3,1 ; Independent window watchdog off on Halt/Active-halt |
||
52 | WWDG_HW bit OPT3,2 ; Window watchdog activated by SW/HW |
||
53 | WWDG_HALT bit OPT3,3 ; Window window watchdog reset on Halt/Active-halt |
||
54 | OPT4 label $4809 ; Number of stabilization clock cycles for HSE and LSE oscillators |
||
55 | HSECNT bfield OPT4,0,2 ; Number of HSE oscillator stabilization clock cycles |
||
56 | LSECNT bfield OPT4,2,2 ; Number of LSE oscillator stabilization clock cycles |
||
57 | OPT5 label $480a ; Brownout reset |
||
58 | BOR_TH bfield OPT5,1,3 ; Brownout reset thresholds |
||
59 | BOR_ON bit OPT5,0 ; Brownout reset on/off |
||
60 | OPTBL label $480b ; Bootloader option bytes (2 bytes) |
||
61 | |||
62 | ;---------------------------------------------------------------------------- |
||
63 | ; Vectors |
||
64 | |||
65 | RESET_vect label $8000 ; Reset |
||
66 | TRAP_vect label $8004 ; Software interrupt |
||
67 | FLASH_vect label $800c ; FLASH end of programing/write attempted to protected page interrupt |
||
68 | DMA1_01_vect label $8010 ; DMA1 channels 0/1 half transaction/transaction complete interrupt |
||
69 | DMA1_23_vect label $8014 ; DMA1 channels 2/3 half transaction/transaction complete interrupt |
||
70 | RTC_vect label $8018 ; RTC alarm/LSE/CSS |
||
71 | EXTIE_vect label $801c ; External interrupt port E/F, shared with... |
||
72 | PVD_vect label $801c ; PVD interrupt |
||
73 | EXTIB_vect label $8020 ; External interrupt port B/G |
||
74 | EXTID_vect label $8024 ; External interrupt port D/H |
||
75 | EXTI0_vect label $8028 ; External interrupt 0 |
||
76 | EXTI1_vect label $802c ; External interrupt 1 |
||
77 | EXTI2_vect label $8030 ; External interrupt 2 |
||
78 | EXTI3_vect label $8034 ; External interrupt 3 |
||
79 | EXTI4_vect label $8038 ; External interrupt 4 |
||
80 | EXTI5_vect label $803c ; External interrupt 5 |
||
81 | EXTI6_vect label $8040 ; External interrupt 6 |
||
82 | EXTI7_vect label $8044 ; External interrupt 7 |
||
83 | CLK_vect label $804c ; CLK system clock switch/CSS interrupt, shared with... |
||
84 | TIM1_BRK_vect label $804c ; TIM1 break interrupt, shared with... |
||
85 | DAC_vect label $804c ; DAC interrupt |
||
86 | COMP_vect label $8050 ; COMP1/COMP2 interrupt, shared with... |
||
87 | ADC1_vect label $8050 ; ADC1 end of conversion/analog watchdog/overrun interrupt |
||
88 | TIM2_vect label $8054 ; TIM2 update/overflow interrupt |
||
89 | TIM2_CAPT_vect label $8058 ; TIM2 capture/compare interrupt |
||
90 | TIM3_vect label $805c ; TIM3 update/overflow/underflow/trigger/break interrupt |
||
91 | TIM3_CAPT_vect label $8060 ; TIM3 capture/compare interrupt |
||
92 | TIM1_vect label $8064 ; TIM1 update/overflow/underflow/trigger/break interrupt |
||
93 | TIM1_CAPT_vect label $8068 ; TIM1 capture/compare interrupt |
||
94 | TIM4_vect label $806c ; TIM4 update/overflow interrupt |
||
95 | SPI1_vect label $8070 ; SPI1 end of transfer interrupt |
||
96 | USART1_TX_vect label $8074 ; USART1 transmit data register empty/transmission complete interrupt |
||
97 | USART1_RX_vect label $8078 ; USART1 received data ready/overrun error/idle line detected/parity error/global error interrupt |
||
98 | I2C1_vect label $807c ; I2C1 interrupt |
||
99 | |||
100 | ;---------------------------------------------------------------------------- |
||
101 | ; GPIO |
||
102 | |||
103 | include "stm8/stm8s/gpio.inc" |
||
104 | __defgpio "PA",$5000 |
||
105 | __defgpio "PB",$5005 |
||
106 | __defgpio "PC",$500a |
||
107 | __defgpio "PD",$500f |
||
108 | __defgpio "PE",$5014 |
||
109 | __defgpio "PF",$5019 |
||
110 | |||
111 | ;---------------------------------------------------------------------------- |
||
112 | ; Flash |
||
113 | |||
114 | include "stm8/stm8l/flash.inc" |
||
115 | __defflash $5050 |
||
116 | |||
117 | ;---------------------------------------------------------------------------- |
||
118 | ; DMA |
||
119 | |||
120 | include "stm8/stm8l/dma.inc" |
||
121 | __defdma "DMA1",$5070 |
||
122 | |||
123 | ;---------------------------------------------------------------------------- |
||
124 | ; System Configuration |
||
125 | |||
126 | include "stm8/stm8l/syscfg.inc" |
||
127 | __defsyscfg $509d,0 |
||
128 | |||
129 | ;---------------------------------------------------------------------------- |
||
130 | ; Wait for Events |
||
131 | |||
132 | include "stm8/stm8l/wfe.inc" |
||
133 | __defwfe $50a6,0 |
||
134 | |||
135 | ;---------------------------------------------------------------------------- |
||
136 | ; Interrupt Controller |
||
137 | |||
138 | include "stm8/stm8l/itc.inc" |
||
139 | EXTI_CR1 label $50a0+$00 ; External interrupt control register 1 |
||
140 | P0IS bfield EXTI_CR1,0,2 ; Portx bit 0 external interrupt sensitivity bits |
||
141 | P1IS bfield EXTI_CR1,2,2 ; Portx bit 1 external interrupt sensitivity bits |
||
142 | P2IS bfield EXTI_CR1,4,2 ; Portx bit 2 external interrupt sensitivity bits |
||
143 | P3IS bfield EXTI_CR1,6,2 ; Portx bit 3 external interrupt sensitivity bits |
||
144 | EXTI_CR2 label $50a0+$01 ; External interrupt control register 2 |
||
145 | P4IS bfield EXTI_CR2,0,2 ; Portx bit 4 external interrupt sensitivity bits |
||
146 | P5IS bfield EXTI_CR2,2,2 ; Portx bit 5 external interrupt sensitivity bits |
||
147 | P6IS bfield EXTI_CR2,4,2 ; Portx bit 6 external interrupt sensitivity bits |
||
148 | P7IS bfield EXTI_CR2,6,2 ; Portx bit 7 external interrupt sensitivity bits |
||
149 | EXTI_CR3 label $50a0+$02 ; External interrupt control register 3 |
||
150 | PBIS bfield EXTI_CR3,0,2 ; Port B external interrupt sensitivity bits |
||
151 | PDIS bfield EXTI_CR3,2,2 ; Port D external interrupt sensitivity bits |
||
152 | PEIS bfield EXTI_CR3,4,2 ; Port E external interrupt sensitivity bits |
||
153 | PFIS bfield EXTI_CR3,6,2 ; Port F external interrupt sensitivity bits |
||
154 | EXTI_SR1 label $50a0+$03 ; External interrupt status register 1 |
||
155 | P7F bit EXTI_SR1,7 ; Port A/B/C/D/E/F bit x external interrupt flag |
||
156 | P6F bit EXTI_SR1,6 |
||
157 | P5F bit EXTI_SR1,5 |
||
158 | P4F bit EXTI_SR1,4 |
||
159 | P3F bit EXTI_SR1,3 |
||
160 | P2F bit EXTI_SR1,2 |
||
161 | P1F bit EXTI_SR1,1 |
||
162 | P0F bit EXTI_SR1,0 |
||
163 | EXTI_SR2 label $50a0+$04 ; External interrupt status register 2 |
||
164 | PHF bit EXTI_SR2,5 ; Port x external interrupt flag |
||
165 | PGF bit EXTI_SR2,4 |
||
166 | PFF bit EXTI_SR2,3 |
||
167 | PEF bit EXTI_SR2,2 |
||
168 | PDF bit EXTI_SR2,1 |
||
169 | PBF bit EXTI_SR2,0 |
||
170 | EXTI_CONF1 label $50a0+$05 ; External interrupt port select register |
||
171 | PFES bit EXTI_CONF1,7 ; Port F or port E external interrupt select |
||
172 | PFLIS bit EXTI_CONF1,6 ; Port F[3:0] external interrupt select |
||
173 | PEHIS bit EXTI_CONF1,5 ; Port E[7:4] external interrupt select |
||
174 | PELIS bit EXTI_CONF1,4 ; Port E[3:0] external interrupt select |
||
175 | PDHIS bit EXTI_CONF1,3 ; Port D[7:4] external interrupt select |
||
176 | PDLIS bit EXTI_CONF1,2 ; Port D[3:0] external interrupt select |
||
177 | PBHIS bit EXTI_CONF1,1 ; Port B[7:4] external interrupt select |
||
178 | PBLIS bit EXTI_CONF1,0 ; Port B[3:0] external interrupt select |
||
179 | |||
180 | __defitc $7f70,30 |
||
181 | |||
182 | ;---------------------------------------------------------------------------- |
||
183 | ; Reset Controller |
||
184 | |||
185 | include "stm8/stm8l/rst.inc" |
||
186 | __defrst $50b0 |
||
187 | |||
188 | ;---------------------------------------------------------------------------- |
||
189 | ; Power Control |
||
190 | |||
191 | include "stm8/stm8l/pwr.inc" |
||
192 | __defpwr $50b2 |
||
193 | |||
194 | ;---------------------------------------------------------------------------- |
||
195 | ; Clock Controller |
||
196 | |||
197 | include "stm8/stm8s/clk.inc" |
||
198 | __defclk $50c0 |
||
199 | |||
200 | ;---------------------------------------------------------------------------- |
||
201 | ; Window Watchdog |
||
202 | |||
203 | include "stm8/stm8s/wwdg.inc" |
||
204 | __defwwdg $50d3 |
||
205 | |||
206 | ;---------------------------------------------------------------------------- |
||
207 | ; Independent Watchdog |
||
208 | |||
209 | include "stm8/stm8s/iwdg.inc" |
||
210 | __defiwdg $50e0 |
||
211 | |||
212 | ;---------------------------------------------------------------------------- |
||
213 | ; Beeper |
||
214 | |||
215 | include "stm8/stm8l/beep.inc" |
||
216 | __defbeep $50f0 |
||
217 | |||
218 | ;---------------------------------------------------------------------------- |
||
219 | ; RTC |
||
220 | |||
221 | include "stm8/stm8l/rtc.inc" |
||
222 | __defrtc $5140 |
||
223 | |||
224 | ;---------------------------------------------------------------------------- |
||
225 | ; Serial Peripheral Interface |
||
226 | |||
227 | include "stm8/stm8l/spi.inc" |
||
228 | __defspi "SPI1",$5200 |
||
229 | |||
230 | ;---------------------------------------------------------------------------- |
||
231 | ; I2C |
||
232 | |||
233 | include "stm8/stm8l/i2c.inc" |
||
234 | __defi2c "I2C1",$5210,0 |
||
235 | |||
236 | ;---------------------------------------------------------------------------- |
||
237 | ; USART1 |
||
238 | |||
239 | include "stm8/stm8l/usart.inc" |
||
240 | __defusart "USART1",$5230 |
||
241 | |||
242 | ;---------------------------------------------------------------------------- |
||
243 | ; Timer 2/3 |
||
244 | |||
245 | include "stm8/stm8l/tim235.inc" |
||
246 | __deftim235 "TIM2",$5250,1 |
||
247 | __deftim235 "TIM3",$5280,1 |
||
248 | |||
249 | ;---------------------------------------------------------------------------- |
||
250 | ; Timer 1 |
||
251 | |||
252 | include "stm8/stm8l/tim1.inc" |
||
253 | __deftim1 $52b0 |
||
254 | |||
255 | ;---------------------------------------------------------------------------- |
||
256 | ; Timer 4 |
||
257 | |||
258 | include "stm8/stm8l/tim4.inc" |
||
259 | __deftim4 $52e0,1 |
||
260 | |||
261 | ;---------------------------------------------------------------------------- |
||
262 | ; Infrared |
||
263 | |||
264 | include "stm8/stm8l/irtim.inc" |
||
265 | __defirtim $52ff |
||
266 | |||
267 | ;---------------------------------------------------------------------------- |
||
268 | ; Routing Interface |
||
269 | |||
270 | RI_ICR1 label $5431 ; RI Timer input capture routing register 1 |
||
271 | RI_IC2CS bfield RI_ICR1,0,5 ; TIM1 Input Capture 2 I/O selection |
||
272 | RI_ICR2 label $5432 ; RI Timer input capture routing register 2 |
||
273 | RI_IC3CS bfield RI_ICR2,0,5 ; TIM1 Input Capture 3 I/O selection |
||
274 | RI_IOIR1 label $5433 ; RI I/O input register 1 |
||
275 | RI_CH22I bit RI_IOIR1,7 ; I/O pin input value |
||
276 | RI_CH19I bit RI_IOIR1,6 |
||
277 | RI_CH16I bit RI_IOIR1,5 |
||
278 | RI_CH13I bit RI_IOIR1,4 |
||
279 | RI_CH10I bit RI_IOIR1,3 |
||
280 | RI_CH7I bit RI_IOIR1,2 |
||
281 | RI_CH4I bit RI_IOIR1,1 |
||
282 | RI_CH1I bit RI_IOIR1,0 |
||
283 | RI_IOIR2 label $5434 ; RI I/O input register 2 |
||
284 | RI_CH23I bit RI_IOIR2,7 ; I/O pin input value |
||
285 | RI_CH20I bit RI_IOIR2,6 |
||
286 | RI_CH17I bit RI_IOIR2,5 |
||
287 | RI_CH14I bit RI_IOIR2,4 |
||
288 | RI_CH11I bit RI_IOIR2,3 |
||
289 | RI_CH8I bit RI_IOIR2,2 |
||
290 | RI_CH5I bit RI_IOIR2,1 |
||
291 | RI_CH2I bit RI_IOIR2,0 |
||
292 | RI_IOIR3 label $5435 ; RI I/O input register 3 |
||
293 | RI_CH24I bit RI_IOIR3,7 ; I/O pin input value |
||
294 | RI_CH21I bit RI_IOIR3,6 |
||
295 | RI_CH18I bit RI_IOIR3,5 |
||
296 | RI_CH15I bit RI_IOIR3,4 |
||
297 | RI_CH12I bit RI_IOIR3,3 |
||
298 | RI_CH9I bit RI_IOIR3,2 |
||
299 | RI_CH6I bit RI_IOIR3,1 |
||
300 | RI_CH3I bit RI_IOIR3,0 |
||
301 | RI_IOCMR1 label $5436 ; RI I/O control mode register 1 |
||
302 | RI_CH22M bit RI_IOCMR1,7 ; I/O control mode |
||
303 | RI_CH19M bit RI_IOCMR1,6 |
||
304 | RI_CH16M bit RI_IOCMR1,5 |
||
305 | RI_CH13M bit RI_IOCMR1,4 |
||
306 | RI_CH10M bit RI_IOCMR1,3 |
||
307 | RI_CH7M bit RI_IOCMR1,2 |
||
308 | RI_CH4M bit RI_IOCMR1,1 |
||
309 | RI_CH1M bit RI_IOCMR1,0 |
||
310 | RI_IOCMR2 label $5437 ; RI I/O control mode register 2 |
||
311 | RI_CH23M bit RI_IOCMR2,7 ; I/O control mode |
||
312 | RI_CH20M bit RI_IOCMR2,6 |
||
313 | RI_CH17M bit RI_IOCMR2,5 |
||
314 | RI_CH14M bit RI_IOCMR2,4 |
||
315 | RI_CH11M bit RI_IOCMR2,3 |
||
316 | RI_CH8M bit RI_IOCMR2,2 |
||
317 | RI_CH5M bit RI_IOCMR2,1 |
||
318 | RI_CH2M bit RI_IOCMR2,0 |
||
319 | RI_IOCMR3 label $5438 ; RI I/O control mode register 3 |
||
320 | RI_CH24M bit RI_IOCMR3,7 ; I/O control mode |
||
321 | RI_CH21M bit RI_IOCMR3,6 |
||
322 | RI_CH18M bit RI_IOCMR3,5 |
||
323 | RI_CH53M bit RI_IOCMR3,4 |
||
324 | RI_CH12M bit RI_IOCMR3,3 |
||
325 | RI_CH9M bit RI_IOCMR3,2 |
||
326 | RI_CH6M bit RI_IOCMR3,1 |
||
327 | RI_CH3M bit RI_IOCMR3,0 |
||
328 | RI_IOSR1 label $5439 ; RI I/O switch register 1 |
||
329 | RI_CH22E bit RI_IOSR1,7 ; I/O switch control |
||
330 | RI_CH19E bit RI_IOSR1,6 |
||
331 | RI_CH16E bit RI_IOSR1,5 |
||
332 | RI_CH13E bit RI_IOSR1,4 |
||
333 | RI_CH10E bit RI_IOSR1,3 |
||
334 | RI_CH7E bit RI_IOSR1,2 |
||
335 | RI_CH4E bit RI_IOSR1,1 |
||
336 | RI_CH1E bit RI_IOSR1,0 |
||
337 | RI_IOSR2 label $543a ; RI I/O switch register 2 |
||
338 | RI_CH23E bit RI_IOSR2,7 ; I/O switch control |
||
339 | RI_CH20E bit RI_IOSR2,6 |
||
340 | RI_CH17E bit RI_IOSR2,5 |
||
341 | RI_CH14E bit RI_IOSR2,4 |
||
342 | RI_CH11E bit RI_IOSR2,3 |
||
343 | RI_CH8E bit RI_IOSR2,2 |
||
344 | RI_CH5E bit RI_IOSR2,1 |
||
345 | RI_CH2E bit RI_IOSR2,0 |
||
346 | RI_IOSR3 label $543b ; RI I/O switch register 3 |
||
347 | RI_CH24E bit RI_IOSR3,7 ; I/O switch control |
||
348 | RI_CH21E bit RI_IOSR3,6 |
||
349 | RI_CH18E bit RI_IOSR3,5 |
||
350 | RI_CH15E bit RI_IOSR3,4 |
||
351 | RI_CH12E bit RI_IOSR3,3 |
||
352 | RI_CH9E bit RI_IOSR3,2 |
||
353 | RI_CH6E bit RI_IOSR3,1 |
||
354 | RI_CH3E bit RI_IOSR3,0 |
||
355 | RI_IOGCR label $543c ; RI I/O group control register |
||
356 | RI_IOM4 bfield RI_IOGCR,6,2 ; I/O mode 4 |
||
357 | RI_IOM3 bfield RI_IOGCR,4,2 ; I/O mode 3 |
||
358 | RI_IOM2 bfield RI_IOGCR,2,2 ; I/O mode 2 |
||
359 | RI_IOM1 bfield RI_IOGCR,0,2 ; I/O mode 1 |
||
360 | RI_ASCR1 label $543d ; Analog switch register 1 |
||
361 | RI_AS7 bit RI_ASCR1,7 ; Analog switch control |
||
362 | RI_AS6 bit RI_ASCR1,6 |
||
363 | RI_AS5 bit RI_ASCR1,5 |
||
364 | RI_AS4 bit RI_ASCR1,4 |
||
365 | RI_AS3 bit RI_ASCR1,3 |
||
366 | RI_AS2 bit RI_ASCR1,2 |
||
367 | RI_AS1 bit RI_ASCR1,1 |
||
368 | RI_AS0 bit RI_ASCR1,0 |
||
369 | RI_ASCR2 label $543e ; Analog switch register 2 |
||
370 | RI_AS14 bit RI_ASCR2,6 ; Analog switch control |
||
371 | RI_AS11 bit RI_ASCR2,3 |
||
372 | RI_AS10 bit RI_ASCR2,2 |
||
373 | RI_AS9 bit RI_ASCR2,1 |
||
374 | RI_AS8 bit RI_ASCR2,0 |
||
375 | RI_RCR label $543f ; Resistor control register |
||
376 | RI_400KPD bit RI_RCR,3 ; 400 kOhm pull-down resistor |
||
377 | RI_10KPD bit RI_RCR,2 ; 10 kOhm pull-down resistor |
||
378 | RI_400KPU bit RI_RCR,1 ; 400 kOhm pull-up resistor |
||
379 | RI_10KPU bit RI_RCR,0 ; 10 kOhm pull-up resistor |
||
380 | |||
381 | ;---------------------------------------------------------------------------- |
||
382 | ; A/D Converter 1 |
||
383 | |||
384 | include "stm8/stm8l/adc1.inc" |
||
385 | __defadc1 "ADC1",,$5340 |
||
386 | |||
387 | ;---------------------------------------------------------------------------- |
||
388 | ; Comparators |
||
389 | |||
390 | include "stm8/stm8l/comp.inc" |
||
391 | __defcomp $5440 |
||
392 | |||
393 | ;---------------------------------------------------------------------------- |
||
394 | ; D/A Converter |
||
395 | |||
396 | include "stm8/stm8l/dac.inc" |
||
397 | __defdac $5380,1,0 |
||
398 | |||
399 | ;---------------------------------------------------------------------------- |
||
400 | ; CPU |
||
401 | |||
402 | include "stm8/cpuregs.inc" |
||
403 | __defcpuregs $7f00 |
||
404 | |||
405 | ;---------------------------------------------------------------------------- |
||
406 | ; Single Wire Interface Module |
||
407 | |||
408 | include "stm8/swim.inc" |
||
409 | __defswim $7f80 |
||
410 | |||
411 | ;---------------------------------------------------------------------------- |
||
412 | ; Debug Module |
||
413 | |||
414 | include "stm8/dm.inc" |
||
415 | __defdm $7f90 |
||
416 | |||
417 | restore ; allow again |
||
418 | |||
419 | endif ; __stm8l31x6inc |