Hi!
I attach a few patches that update / fix / cleanup the LPC2xxx config
files. Reasons for change are in the patches.
Cheers!
From ad618224c4a7a386d38773b237e74a6c506acad6 Mon Sep 17 00:00:00 2001
From: Freddie Chopin <[email protected]>
Date: Fri, 21 May 2010 17:46:40 +0200
Subject: [PATCH 1/4] LPC23xx and LPC24xx after reset run on internal 4MHz RC
oscillator, so "flash bank" parameter should be 4000 (not 12000)
---
tcl/target/lpc2478.cfg | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tcl/target/lpc2478.cfg b/tcl/target/lpc2478.cfg
index 950ef63..57aa36f 100644
--- a/tcl/target/lpc2478.cfg
+++ b/tcl/target/lpc2478.cfg
@@ -44,7 +44,7 @@ $_TARGETNAME configure -event reset-init {
# After reset the chip uses its internal 4MHz RC oscillator.
# flash bank lpc2000 <base> <size> 0 0 <target#> <variant> <clock> [calc
checksum]
set _FLASHNAME $_CHIPNAME.flash
-flash bank $_FLASHNAME lpc2000 0x0 0x7D000 0 0 $_TARGETNAME lpc2000_v2 12000
calc_checksum
+flash bank $_FLASHNAME lpc2000 0x0 0x7D000 0 0 $_TARGETNAME lpc2000_v2 4000
calc_checksum
# Try to use RCLK, if RCLK is not available use "normal" mode. 4MHz / 6 =
666kHz, so use 500.
jtag_rclk 500
--
1.6.5.1.1367.gcd48
From 637bb5d13dab881cab02814708c6880af3716a39 Mon Sep 17 00:00:00 2001
From: Freddie Chopin <[email protected]>
Date: Fri, 21 May 2010 17:52:25 +0200
Subject: [PATCH 2/4] Update "flash bank" helper comments for LPC2xxx chips
---
tcl/target/lpc1768.cfg | 1 +
tcl/target/lpc2103.cfg | 2 +-
tcl/target/lpc2124.cfg | 2 +-
tcl/target/lpc2129.cfg | 2 +-
tcl/target/lpc2148.cfg | 2 +-
tcl/target/lpc2294.cfg | 2 +-
tcl/target/lpc2378.cfg | 2 +-
tcl/target/lpc2478.cfg | 2 +-
8 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/tcl/target/lpc1768.cfg b/tcl/target/lpc1768.cfg
index 82a097f..fc00d78 100644
--- a/tcl/target/lpc1768.cfg
+++ b/tcl/target/lpc1768.cfg
@@ -42,6 +42,7 @@ $_TARGETNAME configure -work-area-phys 0x10000000
-work-area-size 0x8000
# LPC1768 has 512kB of flash memory, managed by ROM code (including a
# boot loader which verifies the flash exception table's checksum).
+# flash bank <name> lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc checksum]
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME lpc2000 0x0 0x80000 0 0 $_TARGETNAME \
lpc1700 $_CCLK calc_checksum
diff --git a/tcl/target/lpc2103.cfg b/tcl/target/lpc2103.cfg
index 2ebe91a..b0a66bc 100644
--- a/tcl/target/lpc2103.cfg
+++ b/tcl/target/lpc2103.cfg
@@ -34,6 +34,6 @@ target create $_TARGETNAME arm7tdmi -endian $_ENDIAN
-chain-position $_TARGETNAM
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x2000
-work-area-backup 0
# 32kB of internal Flash, core clocked with 12MHz crystal
-# flash bank lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc_checksum]
+# flash bank <name> lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc checksum]
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME lpc2000 0x0 0x8000 0 0 $_TARGETNAME lpc2000_v2 12000
calc_checksum
diff --git a/tcl/target/lpc2124.cfg b/tcl/target/lpc2124.cfg
index 1b60c15..259088d 100644
--- a/tcl/target/lpc2124.cfg
+++ b/tcl/target/lpc2124.cfg
@@ -38,6 +38,6 @@ target create $_TARGETNAME arm7tdmi -endian $_ENDIAN
-chain-position $_TARGETNAM
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x4000
-work-area-backup 0
-#flash bank <driver> <base> <size> <chip_width> <bus_width>
+# flash bank <name> lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc checksum]
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME lpc2000 0x0 0x40000 0 0 $_TARGETNAME lpc2000_v1 14745
calc_checksum
diff --git a/tcl/target/lpc2129.cfg b/tcl/target/lpc2129.cfg
index 5b2a2f7..1ecf7d0 100644
--- a/tcl/target/lpc2129.cfg
+++ b/tcl/target/lpc2129.cfg
@@ -37,6 +37,6 @@ target create $_TARGETNAME arm7tdmi -endian $_ENDIAN
-chain-position $_TARGETNAM
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x4000
-work-area-backup 0
-#flash bank <driver> <base> <size> <chip_width> <bus_width>
+# flash bank <name> lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc checksum]
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME lpc2000 0x0 0x40000 0 0 $_TARGETNAME lpc2000_v1 14765
calc_checksum
diff --git a/tcl/target/lpc2148.cfg b/tcl/target/lpc2148.cfg
index 502a355..2199abc 100644
--- a/tcl/target/lpc2148.cfg
+++ b/tcl/target/lpc2148.cfg
@@ -51,6 +51,6 @@ $_TARGETNAME configure -event reset-init {
mwb 0xE01FC040 0x01
}
-# flash bank lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc_checksum]
+# flash bank <name> lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc checksum]
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME lpc2000 0x0 0x7d000 0 0 $_TARGETNAME lpc2000_v2 14765
calc_checksum
diff --git a/tcl/target/lpc2294.cfg b/tcl/target/lpc2294.cfg
index 9ac3c6c..023b445 100644
--- a/tcl/target/lpc2294.cfg
+++ b/tcl/target/lpc2294.cfg
@@ -31,7 +31,7 @@ target create $_TARGETNAME arm7tdmi -endian $_ENDIAN
-chain-position $_TARGETNAM
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x4000
-work-area-backup 0
#flash configuration
-#flash bank lpc2000 <base> <size> 0 0 <target#> <variant>
+# flash bank <name> lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc checksum]
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME lpc2000 0x0 0x40000 0 0 $_TARGETNAME lpc2000_v1 14765
calc_checksum
diff --git a/tcl/target/lpc2378.cfg b/tcl/target/lpc2378.cfg
index 1a42e07..a3c0992 100644
--- a/tcl/target/lpc2378.cfg
+++ b/tcl/target/lpc2378.cfg
@@ -42,7 +42,7 @@ $_TARGETNAME configure -event reset-init {
# LPC2378 has 512kB of FLASH, but upper 8kB are occupied by bootloader.
# After reset the chip uses its internal 4MHz RC oscillator
-#flash bank lpc2000 <base> <size> 0 0 <target#> <variant>
+# flash bank <name> lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc checksum]
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME lpc2000 0x0 0x0007D000 0 0 $_TARGETNAME lpc2000_v2 4000
calc_checksum
diff --git a/tcl/target/lpc2478.cfg b/tcl/target/lpc2478.cfg
index 57aa36f..c430e43 100644
--- a/tcl/target/lpc2478.cfg
+++ b/tcl/target/lpc2478.cfg
@@ -42,7 +42,7 @@ $_TARGETNAME configure -event reset-init {
# LPC2378 has 512kB of FLASH, but upper 8kB are occupied by bootloader.
# After reset the chip uses its internal 4MHz RC oscillator.
-# flash bank lpc2000 <base> <size> 0 0 <target#> <variant> <clock> [calc
checksum]
+# flash bank <name> lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc checksum]
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME lpc2000 0x0 0x7D000 0 0 $_TARGETNAME lpc2000_v2 4000
calc_checksum
--
1.6.5.1.1367.gcd48
From 35fb285e8323be6e934b59af09136eaa304ce760 Mon Sep 17 00:00:00 2001
From: Freddie Chopin <[email protected]>
Date: Fri, 21 May 2010 17:57:10 +0200
Subject: [PATCH 3/4] add correct CPUTAPID value for LPC2129
---
tcl/target/lpc2129.cfg | 8 ++------
1 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/tcl/target/lpc2129.cfg b/tcl/target/lpc2129.cfg
index 1ecf7d0..374a395 100644
--- a/tcl/target/lpc2129.cfg
+++ b/tcl/target/lpc2129.cfg
@@ -1,5 +1,4 @@
-#LPC-2129 CPU
-
+# NXP LPC2129
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
@@ -16,11 +15,9 @@ if { [info exists ENDIAN] } {
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
- # force an error till we get a good number
- set _CPUTAPID 0xffffffff
+ set _CPUTAPID 0xcf1f0f0f
}
-
#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst srst_pulls_trst
@@ -31,7 +28,6 @@ jtag_ntrst_delay 100
#jtag scan chain
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id
$_CPUTAPID
-
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position
$_TARGETNAME -variant arm7tdmi-s_r4
--
1.6.5.1.1367.gcd48
From 6062d6de3e7d3beed1eafd068c9663c278873df9 Mon Sep 17 00:00:00 2001
From: Freddie Chopin <[email protected]>
Date: Fri, 21 May 2010 18:02:58 +0200
Subject: [PATCH 4/4] All LPC2xxx chips are little endian and that cannot be
changed - update config scripts
---
tcl/target/lpc2103.cfg | 8 +-------
tcl/target/lpc2124.cfg | 13 ++-----------
tcl/target/lpc2129.cfg | 8 +-------
tcl/target/lpc2148.cfg | 8 +-------
tcl/target/lpc2294.cfg | 8 +-------
tcl/target/lpc2378.cfg | 8 +-------
tcl/target/lpc2478.cfg | 8 +-------
7 files changed, 8 insertions(+), 53 deletions(-)
diff --git a/tcl/target/lpc2103.cfg b/tcl/target/lpc2103.cfg
index b0a66bc..1e79dcb 100644
--- a/tcl/target/lpc2103.cfg
+++ b/tcl/target/lpc2103.cfg
@@ -6,12 +6,6 @@ if { [info exists CHIPNAME] } {
set _CHIPNAME lpc2103
}
-if { [info exists ENDIAN] } {
- set _ENDIAN $ENDIAN
-} else {
- set _ENDIAN little
-}
-
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
@@ -28,7 +22,7 @@ jtag_ntrst_delay 100
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id
$_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position
$_TARGETNAME -variant arm7tdmi-s_r4
+target create $_TARGETNAME arm7tdmi -chain-position $_TARGETNAME -variant
arm7tdmi-s_r4
# 8kB of internal SRAM
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x2000
-work-area-backup 0
diff --git a/tcl/target/lpc2124.cfg b/tcl/target/lpc2124.cfg
index 259088d..082e312 100644
--- a/tcl/target/lpc2124.cfg
+++ b/tcl/target/lpc2124.cfg
@@ -1,4 +1,4 @@
-#LPC-2124 CPU
+# NXP LPC2124
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
@@ -6,20 +6,12 @@ if { [info exists CHIPNAME] } {
set _CHIPNAME lpc2124
}
-if { [info exists ENDIAN] } {
- set _ENDIAN $ENDIAN
-} else {
- set _ENDIAN little
-}
-
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
- # force an error till we get a good number
set _CPUTAPID 0x4f1f0f0f
}
-
#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst srst_pulls_trst
@@ -33,11 +25,10 @@ adapter_khz 1000
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id
$_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position
$_TARGETNAME -variant arm7tdmi-s_r4
+target create $_TARGETNAME arm7tdmi -chain-position $_TARGETNAME -variant
arm7tdmi-s_r4
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x4000
-work-area-backup 0
-
# flash bank <name> lpc2000 <base> <size> 0 0 <target#> <variant> <clock>
[calc checksum]
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME lpc2000 0x0 0x40000 0 0 $_TARGETNAME lpc2000_v1 14745
calc_checksum
diff --git a/tcl/target/lpc2129.cfg b/tcl/target/lpc2129.cfg
index 374a395..dedd714 100644
--- a/tcl/target/lpc2129.cfg
+++ b/tcl/target/lpc2129.cfg
@@ -6,12 +6,6 @@ if { [info exists CHIPNAME] } {
set _CHIPNAME lpc2129
}
-if { [info exists ENDIAN] } {
- set _ENDIAN $ENDIAN
-} else {
- set _ENDIAN little
-}
-
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
@@ -29,7 +23,7 @@ jtag_ntrst_delay 100
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id
$_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position
$_TARGETNAME -variant arm7tdmi-s_r4
+target create $_TARGETNAME arm7tdmi -chain-position $_TARGETNAME -variant
arm7tdmi-s_r4
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x4000
-work-area-backup 0
diff --git a/tcl/target/lpc2148.cfg b/tcl/target/lpc2148.cfg
index 2199abc..07ca929 100644
--- a/tcl/target/lpc2148.cfg
+++ b/tcl/target/lpc2148.cfg
@@ -9,12 +9,6 @@ if { [info exists CHIPNAME] } {
set _CHIPNAME lpc2148
}
-if { [info exists ENDIAN] } {
- set _ENDIAN $ENDIAN
-} else {
- set _ENDIAN little
-}
-
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
@@ -33,7 +27,7 @@ reset_config trst_and_srst srst_pulls_trst
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id
$_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position
$_TARGETNAME -variant arm7tdmi-s_r4
+target create $_TARGETNAME arm7tdmi -chain-position $_TARGETNAME -variant
arm7tdmi-s_r4
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x4000
-work-area-backup 0
diff --git a/tcl/target/lpc2294.cfg b/tcl/target/lpc2294.cfg
index 023b445..fdec728 100644
--- a/tcl/target/lpc2294.cfg
+++ b/tcl/target/lpc2294.cfg
@@ -4,12 +4,6 @@ if { [info exists CHIPNAME] } {
set _CHIPNAME lpc2294
}
-if { [info exists ENDIAN] } {
- set _ENDIAN $ENDIAN
-} else {
- set _ENDIAN little
-}
-
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
@@ -27,7 +21,7 @@ reset_config trst_and_srst srst_pulls_trst
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id
$_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position
$_TARGETNAME -variant arm7tdmi-s_r4
+target create $_TARGETNAME arm7tdmi -chain-position $_TARGETNAME -variant
arm7tdmi-s_r4
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x4000
-work-area-backup 0
#flash configuration
diff --git a/tcl/target/lpc2378.cfg b/tcl/target/lpc2378.cfg
index a3c0992..7ff572d 100644
--- a/tcl/target/lpc2378.cfg
+++ b/tcl/target/lpc2378.cfg
@@ -6,12 +6,6 @@ if { [info exists CHIPNAME] } {
set _CHIPNAME lpc2378
}
-if { [info exists ENDIAN] } {
- set _ENDIAN $ENDIAN
-} else {
- set _ENDIAN little
-}
-
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
@@ -28,7 +22,7 @@ reset_config trst_and_srst srst_pulls_trst
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id
$_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position
$_TARGETNAME -variant arm7tdmi-s_r4
+target create $_TARGETNAME arm7tdmi -chain-position $_TARGETNAME -variant
arm7tdmi-s_r4
# LPC2378 has 32kB of SRAM on its main system bus (so-called Local On-Chip
SRAM)
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x8000
-work-area-backup 0
diff --git a/tcl/target/lpc2478.cfg b/tcl/target/lpc2478.cfg
index c430e43..aa1cbee 100644
--- a/tcl/target/lpc2478.cfg
+++ b/tcl/target/lpc2478.cfg
@@ -6,12 +6,6 @@ if { [info exists CHIPNAME] } {
set _CHIPNAME lpc2478
}
-if { [info exists ENDIAN] } {
- set _ENDIAN $ENDIAN
-} else {
- set _ENDIAN little
-}
-
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
@@ -28,7 +22,7 @@ reset_config trst_and_srst srst_pulls_trst
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id
$_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position
$_TARGETNAME -variant arm7tdmi-s_r4
+target create $_TARGETNAME arm7tdmi -chain-position $_TARGETNAME -variant
arm7tdmi-s_r4
# LPC2478 has 64kB of SRAM on its main system bus (so-called Local On-Chip
SRAM)
$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x10000
-work-area-backup 0
--
1.6.5.1.1367.gcd48
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development