mirror of
git://git.code.sf.net/p/openocd/code
synced 2025-07-25 14:06:37 +10:00
It depends on the particular target whether it can work with SRST asserted or not, so this belongs to the target config rather than the board config. Also, this allows for simple openocd -f myboard.cfg -c "reset_config connect_assert_srst" command to be used whenever a user feels a need to connect to an unresponsive target. Change-Id: I3d8da9ae47088fc0c75a20bfdd20074be1014de0 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/2459 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
72 lines
1.8 KiB
INI
72 lines
1.8 KiB
INI
#
|
|
# Freescale Kinetis KL25 devices
|
|
#
|
|
|
|
#
|
|
# KL25 devices support both JTAG and SWD transports.
|
|
#
|
|
source [find target/swj-dp.tcl]
|
|
|
|
if { [info exists CHIPNAME] } {
|
|
set _CHIPNAME $CHIPNAME
|
|
} else {
|
|
set _CHIPNAME kl25
|
|
}
|
|
|
|
if { [info exists ENDIAN] } {
|
|
set _ENDIAN $ENDIAN
|
|
} else {
|
|
set _ENDIAN little
|
|
}
|
|
|
|
# Work-area is a space in RAM used for flash programming
|
|
# By default use 4kB
|
|
if { [info exists WORKAREASIZE] } {
|
|
set _WORKAREASIZE $WORKAREASIZE
|
|
} else {
|
|
set _WORKAREASIZE 0x1000
|
|
}
|
|
|
|
if { [info exists CPUTAPID] } {
|
|
set _CPUTAPID $CPUTAPID
|
|
} else {
|
|
set _CPUTAPID 0x0bc11477
|
|
}
|
|
|
|
swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID
|
|
|
|
set _TARGETNAME $_CHIPNAME.cpu
|
|
target create $_TARGETNAME cortex_m -endian $_ENDIAN -chain-position $_CHIPNAME.cpu
|
|
|
|
# It is important that "kinetis mdm check_security" is called for
|
|
# 'examine-end' event and not 'eximine-start'. Calling it in 'examine-start'
|
|
# causes "kinetis mdm check_security" to fail the first time openocd
|
|
# calls it when it tries to connect after the CPU has been power-cycled.
|
|
$_CHIPNAME.cpu configure -event examine-end {
|
|
kinetis mdm check_security
|
|
}
|
|
|
|
$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
|
|
|
|
set _FLASHNAME $_CHIPNAME.flash
|
|
flash bank $_FLASHNAME kinetis 0 0 0 0 $_TARGETNAME
|
|
|
|
# Table 5-1. Clock Summary of KL25 Sub-Family Reference Manual
|
|
# specifies up to 1MHz for VLPR mode.
|
|
adapter_khz 1000
|
|
|
|
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 reset-init {
|
|
# Table 5-1. Clock Summary of KL25 Sub-Family Reference Manual
|
|
# specifies up to 24MHz for run mode; Table 17 of Sub-Family Data
|
|
# Sheet rev4 lists 25MHz as the maximum frequency.
|
|
adapter_khz 24000
|
|
}
|