X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=tcl%2Ftarget%2Fstm32f1x.cfg;h=bd02e95b06057953cf4ba54f7ef46ba105f82a58;hb=92a01329c95670867d8506491e194fe54276f1ff;hp=f32654a57abf41ac27e3dc225ac2a4353836784d;hpb=acc4bb83fd1f26a677fdc2c8ccdc7a235f877d2d;p=openocd.git diff --git a/tcl/target/stm32f1x.cfg b/tcl/target/stm32f1x.cfg index f32654a57a..bd02e95b06 100644 --- a/tcl/target/stm32f1x.cfg +++ b/tcl/target/stm32f1x.cfg @@ -4,6 +4,7 @@ # stm32 devices support both JTAG and SWD transports. # source [find target/swj-dp.tcl] +source [find mem_helper.tcl] if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME @@ -11,11 +12,7 @@ if { [info exists CHIPNAME] } { set _CHIPNAME stm32f1x } -if { [info exists ENDIAN] } { - set _ENDIAN $ENDIAN -} else { - set _ENDIAN little -} +set _ENDIAN little # Work-area is a space in RAM used for flash programming # By default use 4kB (as found on some STM32F100s) @@ -29,9 +26,13 @@ if { [info exists WORKAREASIZE] } { if { [info exists CPUTAPID] } { set _CPUTAPID $CPUTAPID } else { - # See STM Document RM0008 - # Section 26.6.3 - set _CPUTAPID 0x3ba00477 + if { [using_jtag] } { + # See STM Document RM0008 Section 26.6.3 + set _CPUTAPID 0x3ba00477 + } { + # this is the SW-DP tap id not the jtag tap id + set _CPUTAPID 0x1ba01477 + } } swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID @@ -61,8 +62,8 @@ if { [info exists BSTAPID] } { set _BSTAPID9 0x06428041 } -if {$using_jtag} { - jtag newtap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 \ +if {[using_jtag]} { + swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 \ -expected-id $_BSTAPID2 -expected-id $_BSTAPID3 \ -expected-id $_BSTAPID4 -expected-id $_BSTAPID5 \ -expected-id $_BSTAPID6 -expected-id $_BSTAPID7 \ @@ -82,10 +83,27 @@ flash bank $_FLASHNAME stm32f1x 0x08000000 0 0 0 $_TARGETNAME adapter_khz 1000 adapter_nsrst_delay 100 -if {$using_jtag} { +if {[using_jtag]} { jtag_ntrst_delay 100 } -# if srst is not fitted use SYSRESETREQ to -# perform a soft reset -cortex_m reset_config sysresetreq +reset_config srst_nogate + +if {![using_hla]} { + # if srst is not fitted use SYSRESETREQ to + # perform a soft reset + cortex_m reset_config sysresetreq +} + +$_TARGETNAME configure -event examine-end { + # DBGMCU_CR |= DBG_WWDG_STOP | DBG_IWDG_STOP | + # DBG_STANDBY | DBG_STOP | DBG_SLEEP + mmw 0xE0042004 0x00000307 0 +} + +$_TARGETNAME configure -event trace-config { + # Set TRACE_IOEN; TRACE_MODE is set to async; when using sync + # change this value accordingly to configure trace pins + # assignment + mmw 0xE0042004 0x00000020 0 +}