summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-10-16 12:52:32 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-10-16 12:52:32 +0000
commitbd50535b0b4f39cac230e776b28d2b4b0c79ddf2 (patch)
treeb539ff12ac9ee3fbafb186b3bc093c8b18c48df2
parent3884c7505fc262921d618b5e6e19de32d0c44443 (diff)
downloadopenocd+libswd-bd50535b0b4f39cac230e776b28d2b4b0c79ddf2.tar.gz
openocd+libswd-bd50535b0b4f39cac230e776b28d2b4b0c79ddf2.tar.bz2
openocd+libswd-bd50535b0b4f39cac230e776b28d2b4b0c79ddf2.tar.xz
openocd+libswd-bd50535b0b4f39cac230e776b28d2b4b0c79ddf2.zip
adding concept of production script
git-svn-id: svn://svn.berlios.de/openocd/trunk@1071 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/target/target/zy1000.cfg85
1 files changed, 64 insertions, 21 deletions
diff --git a/src/target/target/zy1000.cfg b/src/target/target/zy1000.cfg
index d54925a5..00c577de 100644
--- a/src/target/target/zy1000.cfg
+++ b/src/target/target/zy1000.cfg
@@ -22,32 +22,75 @@ arm7_9 dcc_downloads enable
flash bank ecosflash 0x01000000 0x200000 2 2 0 ecos/at91eb40a.elf
[new_target_name] configure -event reset-init {
+ # Set up chip selects & timings
+ mww 0xFFE00000 0x0100273D
+ mww 0xFFE00004 0x08002125
+ mww 0xFFEe0008 0x02002125
+ mww 0xFFE0000c 0x03002125
+ mww 0xFFE00010 0x40000000
+ mww 0xFFE00014 0x50000000
+ mww 0xFFE00018 0x60000000
+ mww 0xFFE0001c 0x70000000
+ mww 0xFFE00020 0x00000001
+ mww 0xFFE00024 0x00000000
+
+ # remap
+ mww 0xFFFFF124 0xFFFFFFFF
+ mww 0xffff0010 0x100
+ mww 0xffff0034 0x100
+
+ #disable 16x5x UART interrupts
+ mww 0x08020004 0
+}
-# Set up chip selects & timings
-mww 0xFFE00000 0x0100273D
-mww 0xFFE00004 0x08002125
-mww 0xFFEe0008 0x02002125
-mww 0xFFE0000c 0x03002125
-mww 0xFFE00010 0x40000000
-mww 0xFFE00014 0x50000000
-mww 0xFFE00018 0x60000000
-mww 0xFFE0001c 0x70000000
-mww 0xFFE00020 0x00000001
-mww 0xFFE00024 0x00000000
+# required for usable performance. Used for lots of
+# other things than flash programming.
+working_area 0 0x00030000 0x20000 nobackup
-# remap
-mww 0xFFFFF124 0xFFFFFFFF
-mww 0xffff0010 0x100
-mww 0xffff0034 0x100
+jtag_khz 16000
-#disable 16x5x UART interrupts
-mww 0x08020004 0
+proc production_info {} {
+ return "Serial number is official MAC number"
+}
+proc production_help {} {
+ return "Serial number is MAC number. Format XXXXXXXXXXXXXX"
}
-# required for usable performance. Used for lots of
-# other things than flash programming.
-working_area 0 0x00000000 0x20000 nobackup
+# There is no return value from this procedure. If it is
+# successful it does not throw an exception
+#
+# Progress messages are output via puts
+proc production {firmwarefile serialnumber} {
+ if {[string length $serialnumber]!=12} {
+ puts "Invalid serial number"
+ return
+ }
-jtag_khz 16000
+ puts "Power cycling target"
+ power off
+ sleep 3000
+ power on
+ sleep 1000
+ reset init
+ flash write_image erase $firmwarefile 0x1000000 bin
+ verify_image $firmwarefile 0x1000000 bin
+
+ # Big endian... weee!!!!
+ puts "Setting MAC number to $serialnumber"
+ flash fillw [expr 0x1030000-0x8] "0x[string range $serialnumber 2 3][string range $serialnumber 0 1]0000" 1
+ flash fillw [expr 0x1030000-0x4] "0x[string range $serialnumber 10 11][string range $serialnumber 8 9][string range $serialnumber 6 7][string range $serialnumber 4 5]" 1
+ puts "Production successful"
+}
+
+
+proc production_test {} {
+ power on
+ sleep 1000
+ target_request debugmsgs enable
+ reset run
+ sleep 20000
+ target_request debugmsgs disable
+ return "See IP address above..."
+} \ No newline at end of file