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

Reply via email to