X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=tcl%2Ftarget%2Fstm32lx_stlink.cfg;h=0bd59b4abe7b746d904c8c033857fb93ae1869e3;hb=3427cf2b7e33240fc63c6398090dc7bcbf4f2d52;hp=e28818f36b6f71e3d08b661a3f177a8510328e14;hpb=60c2ea144bc299591d86cf6ec98760a9d4607be3;p=openocd.git diff --git a/tcl/target/stm32lx_stlink.cfg b/tcl/target/stm32lx_stlink.cfg index e28818f36b..0bd59b4abe 100644 --- a/tcl/target/stm32lx_stlink.cfg +++ b/tcl/target/stm32lx_stlink.cfg @@ -2,11 +2,46 @@ # STM32lx stlink pseudo target # -set CHIPNAME stm32lx -set CPUTAPID 0x2ba01477 -set WORKAREASIZE 0x3800 +if { [info exists CHIPNAME] == 0 } { + set CHIPNAME stm32lx +} + +if { [info exists CPUTAPID] == 0 } { + set CPUTAPID 0x2ba01477 +} + +if { [info exists WORKAREASIZE] == 0 } { + set WORKAREASIZE 0x2800 +} source [find target/stm32_stlink.cfg] +# Flash base address is known by driver. Flash size will be probed. +# +# Please note that the larger stm32lx targets (256Kb and 384Kb) uses dual +# bank flash. For such targets use target/stm32lx_dual_bank.cfg. +# +# Some samples of ST's stm32lx chips are known to have incorrect flash size +# values programmed in their FLASH_SIZE register. The driver will warn +# for strange values. It is possible to override the flash size probe by +# defining the correct size here. Notice though that it is the size of +# the flash bank +# +# flash bank stm32lx 0 0 set _FLASHNAME $_CHIPNAME.flash flash bank $_FLASHNAME stm32lx 0 0 0 0 $_TARGETNAME + +proc stm32l_enable_HSI {} { + # Enable HSI as clock source + echo "STM32L: Enabling HSI" + + # Set HSION in RCC_CR + mww 0x40023800 0x00000101 + + # Set HSI as SYSCLK + mww 0x40023808 0x00000001 +} + +$_TARGETNAME configure -event reset-init { + stm32l_enable_HSI +}