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_nsrst_delay 100
jtag_ntrst_delay 100
-
+
adapter_khz $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
-
- # 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
+
+ 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 {} {