# script for ATMEL sam3, a CORTEX-M3 chip # # at91sam3u4e # at91sam3u2e # at91sam3u1e # at91sam3u4c # at91sam3u2c # at91sam3u1c if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME } else { set _CHIPNAME sam3 } if { [info exists ENDIAN] } { set _ENDIAN $ENDIAN } else { set _ENDIAN little } #jtag scan chain if { [info exists CPUTAPID ] } { set _CPUTAPID $CPUTAPID } else { set _CPUTAPID 0x4ba00477 } jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID set _TARGETNAME [format "%s.cpu" $_CHIPNAME] target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position $_TARGETNAME # 16K is plenty, the smallest chip has this much $_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 -work-area-size 16384 -work-area-backup 0 reset_config srst_only # GDB can use this gdb_memory_map enable # And GDB can flash the chip gdb_flash_program enable $_TARGETNAME configure -event gdb-flash-erase-start { halt }