summaryrefslogtreecommitdiff
path: root/tcl/target/lpc2129.cfg
diff options
context:
space:
mode:
authorFreddie Chopin <freddie_chopin@op.pl>2011-01-08 12:29:31 +0100
committerØyvind Harboe <oyvind.harboe@zylin.com>2011-01-09 21:34:02 +0100
commit61e1e525c174eaf09debebcdc4ef50ce6f46a8c1 (patch)
treed0b800e1fb1a149d92700554368adb2ce3e6be9e /tcl/target/lpc2129.cfg
parent7ec55eb863adda69eecb927fc3e45ef487a5559b (diff)
downloadopenocd_libswd-61e1e525c174eaf09debebcdc4ef50ce6f46a8c1.tar.gz
openocd_libswd-61e1e525c174eaf09debebcdc4ef50ce6f46a8c1.tar.bz2
openocd_libswd-61e1e525c174eaf09debebcdc4ef50ce6f46a8c1.tar.xz
openocd_libswd-61e1e525c174eaf09debebcdc4ef50ce6f46a8c1.zip
Add another level of procedures to LPC2xxx initialization - procedures for specific targets (setup_lpc<number>) take core clock and adapter clock as parameters. This way "constant" parameters (flash size and type, CPUTAPID, etc.) do not need to be copied if one wishes to change the "variable" parameters - like the core clock or adapter clock - in a board config file or somewhere else.
Signed-off-by: Freddie Chopin <freddie_chopin@op.pl>
Diffstat (limited to 'tcl/target/lpc2129.cfg')
-rw-r--r--tcl/target/lpc2129.cfg18
1 files changed, 15 insertions, 3 deletions
diff --git a/tcl/target/lpc2129.cfg b/tcl/target/lpc2129.cfg
index 10fcd0c1..2c33cde3 100644
--- a/tcl/target/lpc2129.cfg
+++ b/tcl/target/lpc2129.cfg
@@ -2,8 +2,20 @@
source [find target/lpc2xxx.cfg]
-proc init_targets {} {
- # 256kB flash and 16kB SRAM, clocked with 12MHz crystal
+# parameters:
+# - 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_lpc2129 {core_freq_khz adapter_freq_khz} {
+ # 256kB flash and 16kB SRAM
# setup_lpc2xxx <chip_name> <cputapid> <flash_size> <flash_variant> <workarea_size> <core_freq_khz> <adapter_freq_khz>
- setup_lpc2xxx lpc2129 0xcf1f0f0f 0x40000 lpc2000_v1 0x4000 12000 1500
+ setup_lpc2xxx lpc2129 0xcf1f0f0f 0x40000 lpc2000_v1 0x4000 $core_freq_khz $adapter_freq_khz
+}
+
+proc init_targets {} {
+ # default to core clocked with 12MHz crystal
+ echo "Warning - assuming default core clock 12MHz! Flashing may fail if actual core clock is different."
+
+ # setup_lpc2129 <core_freq_khz> <adapter_freq_khz>
+ setup_lpc2129 12000 1500
}