set CPUTAPID 0x4f1f0f0f source [find interface/olimex-arm-usb-tiny-h.cfg] if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME } else { set _CHIPNAME lpc2294 } if { [info exists ENDIAN] } { set _ENDIAN $ENDIAN } else { set _ENDIAN little } if { [info exists CPUTAPID ] } { set _CPUTAPID $CPUTAPID } else { # force an error till we get a good number set _CPUTAPID 0xffffffff } jtag_nsrst_delay 200 jtag_ntrst_delay 200 #use combined on interfaces or targets that can't set TRST/SRST separately reset_config trst_and_srst srst_pulls_trst #jtag scan chain jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID set _TARGETNAME $_CHIPNAME.cpu target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi-s_r4 $_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x4000 -work-area-backup 0 #flash configuration #flash bank lpc2000 0 0 set _FLASHNAME $_CHIPNAME.flash flash bank $_FLASHNAME lpc2000 0x0 0x40000 0 0 $_TARGETNAME lpc2000_v1 20000 calc_checksum jtag_khz 0 flash bank none cfi 0x80000000 0x200000 2 2 $_TARGETNAME init arm7_9 dcc_downloads enable arm7_9 fast_memory_access enable reset sleep 500 halt soft_reset_halt #PLL according to Ecos mww 0xE01FC080 0x1 mww 0xE01FC084 0x22 mww 0xE01FC08C 0xAA mww 0xE01FC08C 0x55 sleep 200 mww 0xE01FC080 0x3 mww 0xE01FC08C 0xAA mww 0xE01FC08C 0x55 sleep 200 mww 0xE01FC004 0x4 mww 0xE01FC000 0x2 sleep 200 #MEMMAP mww 0xE01FC040 0x0001 reset run sleep 500 halt flash probe 0 sleep 1000 flash write_image erase unlock ../bin/openbtl_olimex_lpc_l2294_20mhz.elf reset run shutdown