Browse Source

adding concept of production script

git-svn-id: svn://svn.berlios.de/openocd/trunk@1071 b42882b7-edfa-0310-969c-e2dbd0fdcd60
tags/v0.1.0
oharboe 15 years ago
parent
commit
bd50535b0b
1 changed files with 64 additions and 21 deletions
  1. +64
    -21
      src/target/target/zy1000.cfg

+ 64
- 21
src/target/target/zy1000.cfg View File

@@ -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..."
}

Loading…
Cancel
Save