mirror of
https://git.code.sf.net/p/openocd/code
synced 2024-11-14 18:37:11 +00:00
e6505b0489
For historical reasons, no license information was added to the tcl files. This makes trivial adding the SPDX tag through script: fgrep -rL SPDX tcl/ target| while read a;do \ sed -i '1{i# SPDX-License-Identifier: GPL-2.0-or-later\n }' $a;done With no specific license information from the author, let's extend the OpenOCD project license GPL-2.0-or-later to the files. Change-Id: I7b2610300b24cccd07bfa6fb5f1266970d5d3a1b Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7027 Tested-by: jenkins
47 lines
2.0 KiB
INI
47 lines
2.0 KiB
INI
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
# Common setup for the LPC2xxx parts
|
|
|
|
# parameters:
|
|
# - chip_name - name of the chip, e.g. lpc2103
|
|
# - cputapids - TAP IDs of the core, should be quoted if more than one, e.g. 0x4f1f0f0f or "0x3f0f0f0f 0x4f1f0f0f"
|
|
# - flash_size - size of on-chip flash (available for code, not including the bootloader) in bytes, e.g. 0x8000
|
|
# - flash_variant - "type" of LPC2xxx device, lpc2000_v1 (LPC22xx and older LPC21xx) or lpc2000_v2 (LPC213x, LPC214x, LPC210[123], LPC23xx and LPC24xx)
|
|
# - workarea_size - size of work-area in RAM for flashing procedures, must not exceed the size of RAM available at 0x40000000, e.g. 0x2000
|
|
# - core_freq_khz - frequency of core in kHz during flashing, usually equal to connected crystal or internal oscillator, e.g. 12000
|
|
# - adapter_freq_khz - frequency of debug adapter in kHz, should be 8x slower than core_freq_khz, e.g. 1000
|
|
|
|
proc setup_lpc2xxx {chip_name cputapids flash_size flash_variant workarea_size core_freq_khz adapter_freq_khz} {
|
|
reset_config trst_and_srst
|
|
|
|
# reset delays
|
|
adapter srst delay 100
|
|
jtag_ntrst_delay 100
|
|
|
|
adapter speed $adapter_freq_khz
|
|
|
|
foreach i $cputapids {
|
|
append expected_ids "-expected-id " $i " "
|
|
}
|
|
|
|
eval "jtag newtap $chip_name cpu -irlen 4 -ircapture 0x1 -irmask 0xf $expected_ids"
|
|
|
|
global _TARGETNAME
|
|
set _TARGETNAME $chip_name.cpu
|
|
target create $_TARGETNAME arm7tdmi -chain-position $_TARGETNAME
|
|
|
|
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size $workarea_size -work-area-backup 0
|
|
|
|
if { $flash_size > 0 } {
|
|
# flash bank <name> lpc2000 <base> <size> 0 0 <target#> <variant> <clock> [calc checksum]
|
|
set _FLASHNAME $chip_name.flash
|
|
flash bank $_FLASHNAME lpc2000 0x0 $flash_size 0 0 $_TARGETNAME $flash_variant $core_freq_khz calc_checksum
|
|
}
|
|
}
|
|
|
|
proc init_targets {} {
|
|
# FIX!!! read out CPUTAPID here and choose right setup. In addition to the
|
|
# CPUTAPID some querying of the target would be required.
|
|
return -error "This is a generic LPC2xxx configuration file, use a specific target file."
|
|
}
|