1 # SPDX-License-Identifier: GPL-2.0-or-later
3 # script for stm8l family
6 # stm8 devices support SWIM transports only.
11 if { [info exists CHIPNAME] } {
12 set _CHIPNAME $CHIPNAME
17 # Work-area is a space in RAM used for flash programming
19 if { [info exists WORKAREASIZE] } {
20 set _WORKAREASIZE $WORKAREASIZE
22 set _WORKAREASIZE 0x400
25 if { [info exists FLASHSTART] } {
26 set _FLASHSTART $FLASHSTART
28 set _FLASHSTART 0x8000
31 if { [info exists FLASHEND] } {
32 set _FLASHEND $FLASHEND
37 if { [info exists EEPROMSTART] } {
38 set _EEPROMSTART $EEPROMSTART
40 set _EEPROMSTART 0x4000
43 if { [info exists EEPROMEND] } {
44 set _EEPROMEND $EEPROMEND
49 if { [info exists OPTIONSTART] } {
50 set _OPTIONSTART $OPTIONSTART
52 set _OPTIONSTART 0x4800
55 if { [info exists OPTIONEND] } {
56 set _OPTIONEND $OPTIONEND
61 if { [info exists BLOCKSIZE] } {
62 set _BLOCKSIZE $BLOCKSIZE
67 swim newtap $_CHIPNAME cpu
69 set _TARGETNAME $_CHIPNAME.cpu
71 target create $_TARGETNAME stm8 -chain-position $_CHIPNAME.cpu
73 $_TARGETNAME configure -work-area-phys 0x0 -work-area-size $_WORKAREASIZE -work-area-backup 1
74 $_TARGETNAME configure -flashstart $_FLASHSTART -flashend $_FLASHEND -eepromstart $_EEPROMSTART -eepromend $_EEPROMEND
75 $_TARGETNAME configure -optionstart $_OPTIONSTART -optionend $_OPTIONEND -blocksize $_BLOCKSIZE
77 # Uncomment this line to enable interrupts while instruction step
78 #$_TARGETNAME configure -enable_step_irq
81 $_TARGETNAME configure -enable_stm8l
88 reset_config srst_only
90 #uncomment this line to connect under reset
91 #reset_config srst_nogate connect_assert_srst