X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=tcl%2Fboard%2Fzy1000.cfg;h=57deaa8375f327aebfab1f321d1c5e5040e613fe;hp=2e13ecbba49b8d0bfc7ea6e6cec195db8b7383ee;hb=ca45e700b1c57caca2ef08e665e3c7e3e02ac8d3;hpb=a2886fe3c66e7cdb05148234054e89730662103d diff --git a/tcl/board/zy1000.cfg b/tcl/board/zy1000.cfg index 2e13ecbba4..57deaa8375 100644 --- a/tcl/board/zy1000.cfg +++ b/tcl/board/zy1000.cfg @@ -24,21 +24,23 @@ if { [info exists ENDIAN] } { #jtag scan chain -if { [info exists CPUTAPID ] } { +if { [info exists CPUTAPID] } { set _CPUTAPID $CPUTAPID } else { set _CPUTAPID 0x1f0f0f0f } jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID -set _TARGETNAME [format "%s.cpu" $_CHIPNAME] -target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi-s_r4 +set _TARGETNAME $_CHIPNAME.cpu +target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME # at CPU CLK <32kHz this must be disabled arm7_9 fast_memory_access enable arm7_9 dcc_downloads enable -flash bank ecosflash 0x01000000 0x200000 2 2 $_TARGETNAME ecos/at91eb40a.elf +set _FLASHNAME $_CHIPNAME.flash +flash bank $_FLASHNAME cfi 0x01000000 0x200000 2 2 $_TARGETNAME + $_TARGETNAME configure -event reset-init { # Set up chip selects & timings mww 0xFFE00000 0x0100273D @@ -61,11 +63,16 @@ $_TARGETNAME configure -event reset-init { mww 0x08020004 0 } +$_TARGETNAME configure -event gdb-attach { + # Without this gdb-attach will first time as probe will fail + reset init +} + # required for usable performance. Used for lots of # other things than flash programming. -$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x00020000 -work-area-size 0x20000 -work-area-backup 0 +$_TARGETNAME configure -work-area-phys 0x00020000 -work-area-size 0x20000 -work-area-backup 0 -jtag_khz 16000 +adapter_khz 16000 proc production_info {} { @@ -78,11 +85,11 @@ proc production_info {} { # Progress messages are output via puts proc production {firmwarefile serialnumber} { if {[string length $serialnumber]!=12} { - puts "Invalid serial number" + echo "Invalid serial number" return } - puts "Power cycling target" + echo "Power cycling target" power off sleep 3000 power on @@ -92,10 +99,10 @@ proc production {firmwarefile serialnumber} { verify_image $firmwarefile 0x1000000 bin # Big endian... weee!!!! - puts "Setting MAC number to $serialnumber" + echo "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" + echo "Production successful" }