2015-01-12 14:42:48 +01:00
|
|
|
#
|
|
|
|
# Mulle programming board.
|
|
|
|
#
|
|
|
|
# The Mulle programming board uses a FTDI FT2232H chip for USB UART and JTAG
|
|
|
|
# combined functionality.
|
|
|
|
#
|
|
|
|
|
|
|
|
# Reduce this if you are having problems with losing connection to the Mulle
|
|
|
|
adapter_khz 1000
|
|
|
|
|
|
|
|
# JTAG interface configuration
|
|
|
|
|
|
|
|
interface ftdi
|
|
|
|
ftdi_device_desc "Mulle Programmer v0.70"
|
|
|
|
ftdi_vid_pid 0x0403 0x6010
|
|
|
|
|
|
|
|
ftdi_channel 1
|
|
|
|
ftdi_layout_init 0x0008 0x005b
|
|
|
|
|
|
|
|
# These are the pins that are used for SRST and TRST. Active LOW on programmer
|
|
|
|
# boards v0.70 and up (used to be active HIGH)
|
|
|
|
ftdi_layout_signal nTRST -data 0x0010
|
|
|
|
ftdi_layout_signal nSRST -data 0x0040
|
|
|
|
|
|
|
|
# In the eyes of OpenOCD, the reset signal is push-pull, because of the hardware
|
|
|
|
# design however, it is actually open drain.
|
|
|
|
# The trst pin can only be used if the MCU has been configured by setting the
|
|
|
|
# correct pin multiplexing function on the TRST pin (PTA5).
|
|
|
|
# If you have configured the TRST pin correctly you can change srst_only to
|
|
|
|
# trst_and_srst
|
|
|
|
reset_config srst_only srst_push_pull srst_gates_jtag
|
|
|
|
|
|
|
|
# MCU
|
|
|
|
gdb_memory_map enable
|
|
|
|
gdb_flash_program enable
|
|
|
|
|
|
|
|
source [find target/k60.cfg]
|
|
|
|
|
|
|
|
#
|
|
|
|
# Bank definition for the 'program flash' (instructions and/or data)
|
2015-06-24 14:54:39 +02:00
|
|
|
# OpenOCD 0.9.0 has a definition of the first flash bank in target/kx.cfg, but
|
|
|
|
# not OpenOCD 0.8.0 and earlier.
|
2015-01-12 14:42:48 +01:00
|
|
|
#
|
2015-06-24 14:54:39 +02:00
|
|
|
catch {flash bank $_CHIPNAME.flash kinetis 0 0 0 0 $_TARGETNAME}
|
|
|
|
catch {flash bank $_CHIPNAME.flash2 kinetis 0 0 0 0 $_TARGETNAME}
|
2015-01-12 14:42:48 +01:00
|
|
|
|
2015-05-23 11:05:57 +02:00
|
|
|
# Work-area is a space in RAM used for flash programming
|
2015-06-24 14:54:39 +02:00
|
|
|
# By default use 4 kB
|
2015-05-23 11:05:57 +02:00
|
|
|
if { [info exists WORKAREASIZE] } {
|
|
|
|
set _WORKAREASIZE $WORKAREASIZE
|
|
|
|
} else {
|
2015-06-24 14:54:39 +02:00
|
|
|
set _WORKAREASIZE 0x1000
|
2015-05-23 11:05:57 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
|
|
|
|
|
2015-01-12 14:42:48 +01:00
|
|
|
# The following section makes new gdb connections cause the MCU to do a system
|
|
|
|
# reset, in order to be in a known state.
|
|
|
|
# Comment this out in order to be able to debug an already started program.
|
|
|
|
$_TARGETNAME configure -event gdb-attach {
|
|
|
|
echo "Resetting because of gdb-attach event..."
|
|
|
|
# To make flash probe and gdb load to flash work we need a reset init.
|
|
|
|
reset init
|
|
|
|
}
|