Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

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