summaryrefslogtreecommitdiff
path: root/tcl
diff options
context:
space:
mode:
authorduane <duane@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-24 02:01:14 +0000
committerduane <duane@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-24 02:01:14 +0000
commit0ace4d24dbdaca219741338c8c9ecb61df8dc965 (patch)
tree9853f8a3b3e6ce73575b84db7f2550e302a1f87e /tcl
parent30814c29048f59b4f6e9f605ea5dfd9ee246dad9 (diff)
downloadopenocd+libswd-0ace4d24dbdaca219741338c8c9ecb61df8dc965.tar.gz
openocd+libswd-0ace4d24dbdaca219741338c8c9ecb61df8dc965.tar.bz2
openocd+libswd-0ace4d24dbdaca219741338c8c9ecb61df8dc965.tar.xz
openocd+libswd-0ace4d24dbdaca219741338c8c9ecb61df8dc965.zip
Add support for ATMEL AT91SAM3U - CortexM3 Family
git-svn-id: svn://svn.berlios.de/openocd/trunk@2383 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'tcl')
-rwxr-xr-xtcl/board/atmel_sam3u_ek.cfg1
-rwxr-xr-xtcl/target/at91sam3u1c.cfg7
-rwxr-xr-xtcl/target/at91sam3u1e.cfg7
-rwxr-xr-xtcl/target/at91sam3u2c.cfg7
-rwxr-xr-xtcl/target/at91sam3u2e.cfg7
-rwxr-xr-xtcl/target/at91sam3u4c.cfg9
-rwxr-xr-xtcl/target/at91sam3u4e.cfg9
-rwxr-xr-xtcl/target/at91sam3uXX.cfg47
8 files changed, 94 insertions, 0 deletions
diff --git a/tcl/board/atmel_sam3u_ek.cfg b/tcl/board/atmel_sam3u_ek.cfg
new file mode 100755
index 00000000..53c8d348
--- /dev/null
+++ b/tcl/board/atmel_sam3u_ek.cfg
@@ -0,0 +1 @@
+source [find target/at91sam3u4e.cfg]
diff --git a/tcl/target/at91sam3u1c.cfg b/tcl/target/at91sam3u1c.cfg
new file mode 100755
index 00000000..d338f305
--- /dev/null
+++ b/tcl/target/at91sam3u1c.cfg
@@ -0,0 +1,7 @@
+# common stuff
+source [find target/at91sam3uxx.cfg]
+
+# size is automatically "calculated" by probing
+flash bank at91sam3 0x000080000 0 1 1 $_TARGETNAME
+
+
diff --git a/tcl/target/at91sam3u1e.cfg b/tcl/target/at91sam3u1e.cfg
new file mode 100755
index 00000000..d338f305
--- /dev/null
+++ b/tcl/target/at91sam3u1e.cfg
@@ -0,0 +1,7 @@
+# common stuff
+source [find target/at91sam3uxx.cfg]
+
+# size is automatically "calculated" by probing
+flash bank at91sam3 0x000080000 0 1 1 $_TARGETNAME
+
+
diff --git a/tcl/target/at91sam3u2c.cfg b/tcl/target/at91sam3u2c.cfg
new file mode 100755
index 00000000..d338f305
--- /dev/null
+++ b/tcl/target/at91sam3u2c.cfg
@@ -0,0 +1,7 @@
+# common stuff
+source [find target/at91sam3uxx.cfg]
+
+# size is automatically "calculated" by probing
+flash bank at91sam3 0x000080000 0 1 1 $_TARGETNAME
+
+
diff --git a/tcl/target/at91sam3u2e.cfg b/tcl/target/at91sam3u2e.cfg
new file mode 100755
index 00000000..d338f305
--- /dev/null
+++ b/tcl/target/at91sam3u2e.cfg
@@ -0,0 +1,7 @@
+# common stuff
+source [find target/at91sam3uxx.cfg]
+
+# size is automatically "calculated" by probing
+flash bank at91sam3 0x000080000 0 1 1 $_TARGETNAME
+
+
diff --git a/tcl/target/at91sam3u4c.cfg b/tcl/target/at91sam3u4c.cfg
new file mode 100755
index 00000000..e8fdabab
--- /dev/null
+++ b/tcl/target/at91sam3u4c.cfg
@@ -0,0 +1,9 @@
+# common stuff
+source [find target/at91sam3uxx.cfg]
+
+# size is automatically "calculated" by probing
+flash bank at91sam3 0x000080000 0 1 1 $_TARGETNAME
+# This is a 256K chip, it has the 2nd bank
+flash bank at91sam3 0x000100000 0 1 1 $_TARGETNAME
+
+
diff --git a/tcl/target/at91sam3u4e.cfg b/tcl/target/at91sam3u4e.cfg
new file mode 100755
index 00000000..9477ad00
--- /dev/null
+++ b/tcl/target/at91sam3u4e.cfg
@@ -0,0 +1,9 @@
+# common stuff
+source [find target/at91sam3uxx.cfg]
+
+# size is automatically "calculated" by probing
+flash bank at91sam3 0x000080000 0 1 1 $_TARGETNAME
+# This is a 256K chip - it has the 2nd bank
+flash bank at91sam3 0x000100000 0 1 1 $_TARGETNAME
+
+
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
+}