Subversion Repositories pentevo

Rev

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