Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

                ifndef  __reg05xx4inc   ; avoid multiple inclusion
__reg05xx4inc   equ     1

                save
                listing off             ; no listing over this file

;****************************************************************************
;*                                                                          *
;*   AS 1.42 - File REG05XX4.INC                                            *
;*                                                                          *
;*   contains SFR and Bit Definitions for STM8TL52x4, STM8TL53x4            *
;*   source: DocID022344 Rev 7                                              *
;*                                                                          *
;****************************************************************************

;----------------------------------------------------------------------------
; Memory Addresses

FLASHSTART      label   $8000           ; start address internal Flash

RAMSTART        label   $0000           ; start address internal RAM
RAMEND          label   $0fff           ; end     "        "      "

;----------------------------------------------------------------------------
; Unique Id

                include "stm8/stm8s/uid.inc"
                __defuid $4925

;----------------------------------------------------------------------------
; Option Bytes

OPT0            label   $4800           ; Read-out protection
ROP             bfield  OPT0,0,8
OPT1            label   $4802           ; User boot code
UBC             bfield  OPT1,0,8
OPT2            label   $4803           ; Size of the data EEPROM area
DATASIZE        bfield  OPT2,0,8
OPT3            label   $4807           ; Size of the proprietary code area
PCODESIZE       bfield  OPT3,0,8
OPT4            label   $4808
IWDG_HW         bit     OPT4,0          ; Independent watchdog activated by hardware if set
IWDG_HALT       bit     OPT4,1          ; Independent window watchdog stopped on Halt/Active-halt if set
WWDG_HW         bit     OPT4,2          ; Window watchdog activated by hardware if set
WWDG_HALT       bit     OPT4,3          ; Window watchdog continues running in Halt/Active-halt mode if set

;----------------------------------------------------------------------------
; Vectors

RESET_vect      label   $8000           ; Reset
TRAP_vect       label   $8004           ; Software interrupt
FLASH_vect      label   $800c           ; FLASH end of programing/write attempted to protected page interrupt
PXS_vect        label   $8010           ; End of conversion/First conversion completed
AWU_vect        label   $8018           ; Auto wake up from halt
EXTIB_vect      label   $8020           ; External interrupt port B
EXTID_vect      label   $8024           ; External interrupt port D
EXTI0_vect      label   $8028           ; External interrupt 0
EXTI1_vect      label   $802c           ; External interrupt 1
EXTI2_vect      label   $8030           ; External interrupt 2
EXTI3_vect      label   $8034           ; External interrupt 3
EXTI4_vect      label   $8038           ; External interrupt 4
EXTI5_vect      label   $803c           ; External interrupt 5
EXTI6_vect      label   $8040           ; External interrupt 6
EXTI7_vect      label   $8044           ; External interrupt 7
TIM2_vect       label   $8054           ; TIM2 update/overflow/trigger/break
TIM2_CAPT_vect  label   $8058           ; TIM2 capture/compare
TIM3_vect       label   $805c           ; TIM3 update/overflow/trigger/break
TIM3_CAPT_vect  label   $8060           ; TIM3 capture/compare
TIM4_vect       label   $806c           ; TIM4 update/overflow
SPI_vect        label   $8070           ; End of transfer
USART_TX_vect   label   $8074           ; Tx complete
USART_RX_vect   label   $8078           ; Receive register DATA FULL
I2C_vect        label   $807c           ; I2C interrupt

;----------------------------------------------------------------------------
; GPIO

                include "stm8/stm8s/gpio.inc"
                __defgpio "PA",$5000
                __defgpio "PB",$5005
                __defgpio "PD",$500f

;----------------------------------------------------------------------------
; Flash

                include "flash.inc"
                __defflash $5050

;----------------------------------------------------------------------------
; System Configuration

                include "syscfg.inc"
                __defsyscfg $509e,0

;----------------------------------------------------------------------------
; Interrupt Controller

                include "stm8/stm8s/itc.inc"
EXTI_CR1        label   $50a0+$00       ; External interrupt control register 1
P0IS            bfield  EXTI_CR1,0,2    ;  Portx bit 0 external interrupt sensitivity bits
P1IS            bfield  EXTI_CR1,2,2    ;  Portx bit 1 external interrupt sensitivity bits
P2IS            bfield  EXTI_CR1,4,2    ;  Portx bit 2 external interrupt sensitivity bits
P3IS            bfield  EXTI_CR1,6,2    ;  Portx bit 3 external interrupt sensitivity bits
EXTI_CR2        label   $50a0+$01       ; External interrupt control register 2
P4IS            bfield  EXTI_CR2,0,2    ;  Portx bit 4 external interrupt sensitivity bits
P5IS            bfield  EXTI_CR2,2,2    ;  Portx bit 5 external interrupt sensitivity bits
P6IS            bfield  EXTI_CR2,4,2    ;  Portx bit 6 external interrupt sensitivity bits
P7IS            bfield  EXTI_CR2,6,2    ;  Portx bit 7 external interrupt sensitivity bits
EXTI_CR3        label   $50a0+$02       ; External interrupt control register 3
PBIS            bfield  EXTI_CR3,0,2    ;  Port B external interrupt sensitivity bits
PDIS            bfield  EXTI_CR3,2,2    ;  Port D external interrupt sensitivity bits
EXTI_SR1        label   $50a0+$03       ; External interrupt status register 1
P7F             bit     EXTI_SR1,7      ;  Port A/B/C/D/E/F bit x external interrupt flag
P6F             bit     EXTI_SR1,6
P5F             bit     EXTI_SR1,5
P4F             bit     EXTI_SR1,4
P3F             bit     EXTI_SR1,3
P2F             bit     EXTI_SR1,2
P1F             bit     EXTI_SR1,1
P0F             bit     EXTI_SR1,0
EXTI_SR2        label   $50a0+$04       ; External interrupt status register 2
PDF             bit     EXTI_SR2,1
PBF             bit     EXTI_SR2,0
EXTI_CONF       label   $50a0+$05       ; External interrupt port select register
PDHIS           bit     EXTI_CONF,3     ;  Port D[7:4] external interrupt select
PDLIS           bit     EXTI_CONF,2     ;  Port D[3:0] external interrupt select
PBHIS           bit     EXTI_CONF,1     ;  Port B[7:4] external interrupt select
PBLIS           bit     EXTI_CONF,0     ;  Port B[3:0] external interrupt select
                __defitc $7f70,30

;----------------------------------------------------------------------------
; Wait for Events

                include "wfe.inc"
                __defwfe $50a6

;----------------------------------------------------------------------------
; Reset Controller

                include "rst.inc"
                __defrst $50b0

;----------------------------------------------------------------------------
; Clock Controller

                include "clk.inc"
                __defclk $50c0

;----------------------------------------------------------------------------
; Window Watchdog

                include "stm8/stm8s/wwdg.inc"
                __defwwdg $50d3

;----------------------------------------------------------------------------
; Independent Watchdog

                include "stm8/stm8s/iwdg.inc"
                __defiwdg $50e0

;----------------------------------------------------------------------------
; AWU

                include "stm8/stm8s/awu.inc"
                __defawu $50f0

;----------------------------------------------------------------------------
; Beeper

                include "stm8/stm8s/beep.inc"
                __defbeep $50f3

;----------------------------------------------------------------------------
; Serial Peripheral Interface

                include "stm8/stm8l/spi01.inc"
                __defspi01 "SPI",$5200

;----------------------------------------------------------------------------
; I2C

                include "stm8/stm8l/i2c01.inc"
                __defi2c01 "I2C",$5210,1

;----------------------------------------------------------------------------
; USART

                include "stm8/stm8l/usart01.inc"
                __defusart01 "USART",$5230

;----------------------------------------------------------------------------
; Timer 2/3

                include "stm8/stm8l/tim235.inc"
                __deftim235 "TIM2",$5250,0
                __deftim235 "TIM3",$5280,0

;----------------------------------------------------------------------------
; Timer 4

                include "stm8/stm8l/tim4.inc"
                __deftim4 $52e0,0

;----------------------------------------------------------------------------
; ProxSense

                include "pxs.inc"
                __defpxs $5300

;----------------------------------------------------------------------------
; CPU

                include "stm8/cpuregs.inc"
                __defcpuregs $7f00

;----------------------------------------------------------------------------
; Single Wire Interface Module

                include "stm8/swim.inc"
                __defswim $7f80

;----------------------------------------------------------------------------
; Debug Module

                include "stm8/dm.inc"
                __defdm $7f90

                restore                 ; allow again

                endif                   ; __reg05xx4inc