summaryrefslogtreecommitdiff
path: root/tcl/target/at91sam3uXX.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'tcl/target/at91sam3uXX.cfg')
-rwxr-xr-xtcl/target/at91sam3uXX.cfg47
1 files changed, 47 insertions, 0 deletions
diff --git a/tcl/target/at91sam3uXX.cfg b/tcl/target/at91sam3uXX.cfg
new file mode 100755
index 00000000..37f6b8ef
--- /dev/null
+++ b/tcl/target/at91sam3uXX.cfg
@@ -0,0 +1,47 @@
+# 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
+}