aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2013-11-09 14:23:13 +1000
committerinmarket <andrewh@inmarket.com.au>2013-11-09 14:23:13 +1000
commitd00b5438310e23f0f2115ee660d066a1bfc1b23c (patch)
tree3fe4d9a2400749ebee36d5f653a95fc18915e075
parent5d2d6e79621a40d1a4ec4047e5c5ff8b9c7d1657 (diff)
downloaduGFX-d00b5438310e23f0f2115ee660d066a1bfc1b23c.tar.gz
uGFX-d00b5438310e23f0f2115ee660d066a1bfc1b23c.tar.bz2
uGFX-d00b5438310e23f0f2115ee660d066a1bfc1b23c.zip
Updated Makefile and new openocd config file for the Olimex SAM7EX256 board.
Makefiles modifications required for updated gcc v4.7.2
-rw-r--r--boards/base/Olimex-SAM7EX256-GE8/example/Makefile8
-rw-r--r--boards/base/Olimex-SAM7EX256-GE8/example/openocd.cfg75
2 files changed, 80 insertions, 3 deletions
diff --git a/boards/base/Olimex-SAM7EX256-GE8/example/Makefile b/boards/base/Olimex-SAM7EX256-GE8/example/Makefile
index cff4e7ad..d6161d5e 100644
--- a/boards/base/Olimex-SAM7EX256-GE8/example/Makefile
+++ b/boards/base/Olimex-SAM7EX256-GE8/example/Makefile
@@ -5,8 +5,9 @@
# Compiler options here.
ifeq ($(USE_OPT),)
-# USE_OPT = -O2 -ggdb -gstabs+ -fomit-frame-pointer -mabi=apcs-gnu
- USE_OPT = -O0 -ggdb -gstabs+ -fomit-frame-pointer -mabi=apcs-gnu
+ # If you are using gcc V4.5.1 or older then replace -g with -ggdb -gstabs+
+ # For debugging you probably want -O0 rather than -O2
+ USE_OPT = -O0 -g -fomit-frame-pointer -mabi=apcs-gnu
endif
# C specific options here (added to USE_OPT).
@@ -126,7 +127,8 @@ CPPC = $(TRGT)g++
# Enable loading with g++ only if you need C++ runtime support.
# NOTE: You can use C++ even without C++ support if you are careful. C++
# runtime support makes code size explode.
-LD = $(TRGT)gcc -ggdb -gstabs+
+# If you are using gcc V4.5.1 or older then add -ggdb -gstabs+ to the LD line
+LD = $(TRGT)gcc
#LD = $(TRGT)g++
CP = $(TRGT)objcopy
AS = $(TRGT)gcc -x assembler-with-cpp
diff --git a/boards/base/Olimex-SAM7EX256-GE8/example/openocd.cfg b/boards/base/Olimex-SAM7EX256-GE8/example/openocd.cfg
new file mode 100644
index 00000000..8c58e6f0
--- /dev/null
+++ b/boards/base/Olimex-SAM7EX256-GE8/example/openocd.cfg
@@ -0,0 +1,75 @@
+# This is a script file for OpenOCD 0.7.0
+#
+# It is set up for the Olimex SAM7EX256 board using the Olimex Tiny-H JTAG adaptor.
+#
+# Assuming the current directory is your project directory containing this openocd.cfg file...
+#
+# To program your device:
+#
+# openocd -f openocd.cfg -c "Burn yourfile.bin" -c shutdown
+#
+# To debug your device:
+#
+# openocd
+# (This will run openocd in gdb server debug mode. Leave it running in the background)
+#
+# gdb yourfile.elf
+# (To start gdb. Then run the following commands in gdb...)
+#
+# target remote 127.0.0.1:3333
+# monitor Debug
+# stepi
+# (This last stepi resynchronizes gdb).
+#
+# If you want to reprogram from within gdb:
+#
+# monitor Burn yourfile.bin
+#
+
+echo ""
+echo "##### Loading debugger..."
+source [find interface/olimex-arm-usb-tiny-h.cfg]
+#source [find interface/ftdi/olimex-arm-usb-tiny-h.cfg]
+
+echo ""
+echo "##### Loading CPU..."
+source [find target/at91sam7x256.cfg]
+
+echo ""
+echo "##### Configuring..."
+jtag_rclk 3000
+arm7_9 dcc_downloads enable
+arm7_9 fast_memory_access enable
+# flash protect 0 0 1 off
+#gdb_breakpoint_override hard
+arm7_9 dbgrq enable
+
+proc Debug { } {
+ echo ""
+ echo "##### Debug Session Connected..."
+ soft_reset_halt
+ reg pc 0x00100000
+ echo "Ready..."
+}
+
+proc Burn {file} {
+ echo ""
+ echo "##### Burning $file to device..."
+ halt
+ flash write_image erase unlock $file 0x00100000
+ reset
+ echo "Burning Complete!"
+}
+
+echo ""
+echo "##### Leaving Configuration Mode..."
+init
+soft_reset_halt
+$_TARGETNAME invoke-event reset-init
+flash probe 0
+flash banks
+
+echo ""
+echo "##### Waiting for debug connections..."
+
+