5 if { [info exists CHIPNAME] } {
6 set _CHIPNAME $CHIPNAME
11 if { [info exists ENDIAN] } {
17 if { [info exists CPUTAPID] } {
18 set _CPUTAPID $CPUTAPID
20 set _CPUTAPID 0x3f0f0f0f
23 #use combined on interfaces or targets that can't set TRST/SRST separately
24 reset_config trst_and_srst srst_pulls_trst
27 jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0x0f -expected-id $_CPUTAPID
29 #jtag nTRST and nSRST delay
33 set _TARGETNAME $_CHIPNAME.cpu
34 target create $_TARGETNAME arm7tdmi -endian little -chain-position 0 -variant arm7tdmi
36 $_TARGETNAME configure -event reset-start { jtag_khz 10 }
37 $_TARGETNAME configure -event reset-init {
40 # Because the hardware cannot be interrogated for the protection state
41 # of sectors, initialize all the sectors to be unprotected. The initial
42 # state is reflected by the driver, too.
43 flash protect 0 0 last off
45 $_TARGETNAME configure -event gdb-flash-erase-start {
46 flash protect 0 0 7 off
49 $_TARGETNAME configure -work-area-phys 0xA0000000 -work-area-size 0x4000 -work-area-backup 0
51 #flash bank <driver> <base> <size> <chip_width> <bus_width>
52 set _FLASHNAME $_CHIPNAME.flash
53 flash bank $_FLASHNAME str7x 0x80000000 0x00040000 0 0 $_TARGETNAME STR3x