1 # script for stm8s family
4 # stm8 devices support SWIM transports only.
7 transport select stlink_swim
9 if { [info exists CHIPNAME] } {
10 set _CHIPNAME $CHIPNAME
15 # Work-area is a space in RAM used for flash programming
17 if { [info exists WORKAREASIZE] } {
18 set _WORKAREASIZE $WORKAREASIZE
20 set _WORKAREASIZE 0x400
23 if { [info exists FLASHSTART] } {
24 set _FLASHSTART $FLASHSTART
26 set _FLASHSTART 0x8000
29 if { [info exists FLASHEND] } {
30 set _FLASHEND $FLASHEND
35 if { [info exists EEPROMSTART] } {
36 set _EEPROMSTART $EEPROMSTART
38 set _EEPROMSTART 0x4000
41 if { [info exists EEPROMEND] } {
42 set _EEPROMEND $EEPROMEND
47 if { [info exists OPTIONSTART] } {
48 set _OPTIONSTART $OPTIONSTART
50 set _OPTIONSTART 0x4800
53 if { [info exists OPTIONEND] } {
54 set _OPTIONEND $OPTIONEND
59 if { [info exists BLOCKSIZE] } {
60 set _BLOCKSIZE $BLOCKSIZE
65 hla newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0
67 set _TARGETNAME $_CHIPNAME.cpu
69 target create $_TARGETNAME stm8 -chain-position $_CHIPNAME.cpu
71 $_TARGETNAME configure -work-area-phys 0x0 -work-area-size $_WORKAREASIZE -work-area-backup 1
72 $_TARGETNAME configure -flashstart $_FLASHSTART -flashend $_FLASHEND -eepromstart $_EEPROMSTART -eepromend $_EEPROMEND
73 $_TARGETNAME configure -optionstart $_OPTIONSTART -optionend $_OPTIONEND -blocksize $_BLOCKSIZE
75 # Uncomment this line to enable interrupts while instruction step
76 #$_TARGETNAME configure -enable_step_irq
78 # The khz rate does not apply here, only slow <0> and fast <1>
81 reset_config srst_only
83 # uncomment this line to connect under reset
84 #reset_config srst_nogate connect_assert_srst