diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/target/target/at91eb40a.tcl | 110 | ||||
-rw-r--r-- | src/tcl/commands.tcl | 32 |
2 files changed, 71 insertions, 71 deletions
diff --git a/src/target/target/at91eb40a.tcl b/src/target/target/at91eb40a.tcl index 13ed0f82..de57995c 100644 --- a/src/target/target/at91eb40a.tcl +++ b/src/target/target/at91eb40a.tcl @@ -1,55 +1,55 @@ -#Script for AT91EB40a
-
-#Atmel ties SRST & TRST together, at which point it makes
-#no sense to use TRST, but use TMS instead.
-#
-#The annoying thing with tying SRST & TRST together is that
-#there is no way to halt the CPU *before and during* the
-#SRST reset, which means that the CPU will run a number
-#of cycles before it can be halted(as much as milliseconds).
-openocd {reset_config srst_only srst_pulls_trst}
-
-#jtag scan chain
-#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
-openocd {jtag_device 4 0x1 0xf 0xe}
-
-#target configuration
-openocd {target arm7tdmi little 0 arm7tdmi-s_r4}
-
-# speed up memory downloads
-openocd {arm7 fast_memory_access enable}
-openocd {arm7_9 dcc_downloads enable}
-
-#flash driver
-openocd {flash bank ecosflash 0x01000000 0x200000 2 2 0 ecos/at91eb40a.elf}
-
-# required for usable performance. Used for lots of
-# other things than flash programming.
-openocd {working_area 0 0x00000000 0x20000 nobackup}
-
-#force hardware values - we're running out of flash more
-#often than not. The user can disable this in his
-#subsequent config script.
-openocd {arm7_9 force_hw_bkpts enable}
-
-set reset_count 0
-
-proc target_reset_0 {} {
- global reset_count
- # Reset script for AT91EB40a
- openocd {reg cpsr 0x000000D3}
- openocd {mww 0xFFE00020 0x1}
- openocd {mww 0xFFE00024 0x00000000}
- openocd {mww 0xFFE00000 0x01002539}
- openocd {mww 0xFFFFF124 0xFFFFFFFF}
- openocd {mww 0xffff0010 0x100}
- openocd {mww 0xffff0034 0x100}
- set reset_count [expr $reset_count+1]
- echo "Testing reset $reset_count !"
-}
-
-proc target_pre_reset_0 {} {
- global reset_count
- set reset_count [expr $reset_count+1]
- echo "Testing pre_reset $reset_count !"
-}
+#Script for AT91EB40a + +#Atmel ties SRST & TRST together, at which point it makes +#no sense to use TRST, but use TMS instead. +# +#The annoying thing with tying SRST & TRST together is that +#there is no way to halt the CPU *before and during* the +#SRST reset, which means that the CPU will run a number +#of cycles before it can be halted(as much as milliseconds). +openocd {reset_config srst_only srst_pulls_trst} + +#jtag scan chain +#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE) +openocd {jtag_device 4 0x1 0xf 0xe} + +#target configuration +openocd {target arm7tdmi little 0 arm7tdmi-s_r4} + +# speed up memory downloads +openocd {arm7 fast_memory_access enable} +openocd {arm7_9 dcc_downloads enable} + +#flash driver +openocd {flash bank ecosflash 0x01000000 0x200000 2 2 0 ecos/at91eb40a.elf} + +# required for usable performance. Used for lots of +# other things than flash programming. +openocd {working_area 0 0x00000000 0x20000 nobackup} + +#force hardware values - we're running out of flash more +#often than not. The user can disable this in his +#subsequent config script. +openocd {arm7_9 force_hw_bkpts enable} + +set reset_count 0 + +proc target_reset_0 {} { + global reset_count + # Reset script for AT91EB40a + openocd {reg cpsr 0x000000D3} + openocd {mww 0xFFE00020 0x1} + openocd {mww 0xFFE00024 0x00000000} + openocd {mww 0xFFE00000 0x01002539} + openocd {mww 0xFFFFF124 0xFFFFFFFF} + openocd {mww 0xffff0010 0x100} + openocd {mww 0xffff0034 0x100} + set reset_count [expr $reset_count+1] + echo "Testing reset $reset_count !" +} + +proc target_pre_reset_0 {} { + global reset_count + set reset_count [expr $reset_count+1] + echo "Testing pre_reset $reset_count !" +} diff --git a/src/tcl/commands.tcl b/src/tcl/commands.tcl index 81f7b6f1..7d90f36c 100644 --- a/src/tcl/commands.tcl +++ b/src/tcl/commands.tcl @@ -1,18 +1,18 @@ -# implements Tcl procedures/functions
-proc peek {address} {
+# implements Tcl procedures/functions +proc peek {address} { return [openocd_throw "mdw $address"] -}
-
-# Production command
-# FIX!!! need to figure out how to feed back relevant output
-# from e.g. "flash banks" command...
-proc board_produce {filename serialnumber} {
- openocd "reset init"
- openocd "flash write_image erase $filename [flash] bin"]]
- openocd "verify_image $filename [flash] bin"]]
- echo "Successfully ran production procedure"
-}
-
-proc board_test {} {
+} + +# Production command +# FIX!!! need to figure out how to feed back relevant output +# from e.g. "flash banks" command... +proc board_produce {filename serialnumber} { + openocd "reset init" + openocd "flash write_image erase $filename [flash] bin"]] + openocd "verify_image $filename [flash] bin"]] + echo "Successfully ran production procedure" +} + +proc board_test {} { echo "Production test not implemented" -}
+} |