diff options
author | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-09-16 12:38:26 +0000 |
---|---|---|
committer | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-09-16 12:38:26 +0000 |
commit | 9542318312ceb4fd93f50fa58a708643befeefc2 (patch) | |
tree | 9123d8a8f724eda135eb75cf50b990329c8fc174 /tcl/target | |
parent | 6d2473b65b00c1bc17e74381b5ecefdc0fc26bd4 (diff) | |
download | openocd_libswd-9542318312ceb4fd93f50fa58a708643befeefc2.tar.gz openocd_libswd-9542318312ceb4fd93f50fa58a708643befeefc2.tar.bz2 openocd_libswd-9542318312ceb4fd93f50fa58a708643befeefc2.tar.xz openocd_libswd-9542318312ceb4fd93f50fa58a708643befeefc2.zip |
Rolf Meeser <rolfm_9dq@yahoo.de> adds flash support for NXP's LPC2900 family (ARM968E).
git-svn-id: svn://svn.berlios.de/openocd/trunk@2715 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'tcl/target')
-rw-r--r-- | tcl/target/lpc2900.cfg | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tcl/target/lpc2900.cfg b/tcl/target/lpc2900.cfg new file mode 100644 index 00000000..fa5bd5bb --- /dev/null +++ b/tcl/target/lpc2900.cfg @@ -0,0 +1,65 @@ + +if { [info exists CHIPNAME] } { + set _CHIPNAME $CHIPNAME +} else { + set _CHIPNAME lpc2900 +} + +if { [info exists CPUTAPID ] } { + set _CPUTAPID $CPUTAPID +} else { + set _CPUTAPID 0x0596802B +} + +if { [info exists HAS_ETB ] } { +} else { + # Set default (no ETB). + # Show a warning, because this should have been configured explicitely. + set HAS_ETB 0 + # TODO warning? +} + +if { [info exists ETBTAPID ] } { + set _ETBTAPID $ETBTAPID +} else { + set _ETBTAPID 0x1B900F0F +} + +# TRST and SRST both exist, and can be controlled independently +reset_config trst_and_srst separate + +# Define the _TARGETNAME +set _TARGETNAME [format "%s.cpu" $_CHIPNAME] + +# Include the ETB tap controller if asked for. +# Has to be done manually for newer devices (not an "old" LPC2917/2919). +if { $HAS_ETB == 1 } { + # Clear the HAS_ETB flag. Must be set again for a new tap in the chain. + set HAS_ETB 0 + + # Add the ETB tap controller and the ARM9 core debug tap + jtag newtap $_CHIPNAME etb -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_ETBTAPID + jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID + + # Create the ".cpu" target + target create $_TARGETNAME arm966e -endian little -chain-position $_TARGETNAME -variant arm966e + + # Configure ETM and ETB + etm config $_TARGETNAME 8 normal full etb + etb config $_TARGETNAME $_CHIPNAME.etb + +} else { + # Add the ARM9 core debug tap + jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID + + # Create the ".cpu" target + target create $_TARGETNAME arm966e -endian little -chain-position $_TARGETNAME -variant arm966e +} + +arm7_9 dbgrq enable +arm7_9 dcc_downloads enable + +# Flash bank configuration: +# Flash: flash bank lpc2900 0 0 0 0 <target#> <flash clock (CLK_SYS_FMC) in kHz> +# Flash base address, total flash size, and number of sectors are all configured automatically. +flash bank lpc2900 0 0 0 0 $_TARGETNAME $FLASH_CLOCK |