-
Notifications
You must be signed in to change notification settings - Fork 22
eclipse
You will need a working toolchain, OpenOCD, and a verision of GDB targeted for ARM to use Eclipse with the Econotag. The following steps explain how to get these and configure Eclipse to use them.
git archive --format=tar --remote=git://openocd.git.sourceforge.net/gitroot/openocd/openocd63763345d94b11f106c832c23e8ad730a4485723 > tagged_version.tar
Unpack the tar-ball and:
./bootstrap
./configure --enable-ft2232_libftdi --enable-ep93xx --enable-rlink
--enable-maintainer-mode
make
sudo make install
For more details see the mc1322x OpenOCD setup guide
Use the mc1322x toolchain guide to setup the CodeSourcery chain.
From debian testing you can get the gdb-7.1 source. 7.0 should also work.
apt-get source gdb
Build gdb:
mkdir build
cd build
../gdb-7.1/configure --target=arm-none-eabi --prefix=
make
Add gdb to your path. You probably already have the CodeSourcert bin in your path so you could do:
cp gdb/gdb ~/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-eabi-gdb71
Follow the driections here: http://www.yagarto.de/howto/yagarto2/index.html
Use "Standard GDB Hardware Debugging" and set the gdb-command
to
arm-none-eabi-gdb-71
(or to whatever you've named gdb)
In the Eclipse/CDT debugger settings, add:
monitor soft_reset_halt
set *0x80020010 = 0
monitor soft_reset_halt
causes GDB to send the soft_reset_halt
command (which performs a software reset, then halts the processor)
through the monitor (OpenOCD).
set *0x80020010 = 0
disables interrupts on the mc13224v. Executing a
soft_reset_halt does not reset CPU state. If were running code
that was using interrupt and you then modified codeto not use that
interrupt, then the CPU would still generate the interrupt but no code
would be in-place to handle it.
© 2013 Mariano Alvira. Distributed under the GNU FDL v1.3 <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-9770084-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script>