Size: 3650
Comment:
|
Size: 5074
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
''Please note that this page is not yet completed!'' | |
Line 83: | Line 82: |
''TODO: how to install ARM development toolchain'' | These sites give you information how to install GNU ARM toolchain: |
Line 86: | Line 85: |
Line 87: | Line 87: |
Line 88: | Line 89: |
As there currently is no package for gnuarm toolchain, probably the easiest way to install the toolchain is first download the binaries from GNU ARM site: http://www.gnuarm.com/files.html I chose GNU/Linux (x86) package called "binutils-2.15, gcc-3.4.3-c-c++-java, newlib-1.12.0, insight-6.1, TAR BZ2" [56.0MB] Move this file to some directory, e.g. /home/username/bin, and extract it there by right-clicking the package and selecting "Extract here". This results to a directory /home/username/bin/gnuarm-3.4.3. You may want to make a softlink to this directory: {{{ ln -s /home/username/bin/gnuarm-3.4.3 /home/username/bin/arm }}} There is now a directory /home/username/bin/arm/bin which includes all gnu arm tools. This directory can be added to your path for easier access by adding the following to the end of /etc/profile: {{{ # set PATH so it includes ARM cross-compiling tools if [ -d "/home/username/bin/arm/bin" ] ; then PATH="/home/username/bin/arm/bin:$PATH" fi }}} You may need to activate the change with {{{ source /etc/profile }}} until the changes are made active. Finally, try out the toolchain by issuing a command: {{{ user@machine:~$ arm-elf-gcc --version arm-elf-gcc (GCC) 3.4.3 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. }}} |
|
Needs Expansion |
|
OpenOCD
Introduction
Installation Instructions
Look for the package named openocd in the Synaptic Package Manager and install it.
Usage examples
Using OpenOCD with Olimex ARM-USB-OCD and LPC-H2103
OpenOCD Setup
After installing OpenOCD package, you need to set permissions right. Create a file ""/etc/udev/rules.d/45-ft2232.rules"" with following contents:
BUS!="usb", ACTION!="add", SUBSYSTEM!=="usb_device", GOTO="kcontrol_rules_end" SYSFS{idProduct}=="0003", SYSFS{idVendor}=="15ba", MODE="664", GROUP="plugdev" LABEL="kcontrol_rules_end"
Then connect ARM-USB-OCD to the USB port. Check ""dmesg"" which should give approximately the following output:
[ 347.868034] usb 2-2: new full speed USB device using uhci_hcd and address 3 [ 348.172550] usb 2-2: configuration #1 chosen from 1 choice [ 348.360463] usbcore: registered new interface driver usbserial [ 348.360496] USB Serial support registered for generic [ 348.360556] usbcore: registered new interface driver usbserial_generic [ 348.360561] usbserial: USB Serial Driver core [ 348.525815] USB Serial support registered for FTDI USB Serial Device [ 348.526020] usb 2-2: Ignoring serial port reserved for JTAG [ 348.526109] ftdi_sio 2-2:1.1: FTDI USB Serial Device converter detected [ 348.526155] usb 2-2: Detected FT2232C [ 348.526250] usb 2-2: FTDI USB Serial Device converter now attached to ttyUSB0 [ 348.526277] usbcore: registered new interface driver ftdi_sio [ 348.526282] ftdi_sio: v1.4.3:USB FTDI Serial Converters Driver
Connect ARM-USB-OCD dongle to LPC-H2103 prototype board via JTAG cable.
Power on LPC-H2103 board by giving 5 volts between Vin and gnd pins. Refer to board schematics for correct pins ( http://www.olimex.com/dev/pdf/lpc-h2103-pins.pdf ). The board should now have power led (red) on and the other led (green) blinking.
Next you need to create a configuration file. More information here: http://openfacts.berlios.de/index-en.phtml?title=OpenOCD_configuration
The file can be named for example openocd.cfg, and the contents of that file:
source [find interface/olimex-arm-usb-ocd.cfg] source [find target/sam7x256.cfg]
This configuration should automatically find the correct default configurations for the board and for the dongle.
Start OpenOCD daemon with the following command:
openocd -f openocd.cfg TODO: Add output here
Test the setup by connecting to openocd daemon with telnet:
telnet localhost 4444 TODO: add some more stuff here
ARM development toolchain
These sites give you information how to install GNU ARM toolchain:
http://blog.nutaksas.com/2009/05/installing-gnuarm-arm-toolchain-on.html
http://danielromaniuk.com/?q=node/19
As there currently is no package for gnuarm toolchain, probably the easiest way to install the toolchain is first download the binaries from GNU ARM site:
http://www.gnuarm.com/files.html
I chose GNU/Linux (x86) package called "binutils-2.15, gcc-3.4.3-c-c++-java, newlib-1.12.0, insight-6.1, TAR BZ2" [56.0MB]
Move this file to some directory, e.g. /home/username/bin, and extract it there by right-clicking the package and selecting "Extract here". This results to a directory /home/username/bin/gnuarm-3.4.3.
You may want to make a softlink to this directory:
ln -s /home/username/bin/gnuarm-3.4.3 /home/username/bin/arm
There is now a directory /home/username/bin/arm/bin which includes all gnu arm tools. This directory can be added to your path for easier access by adding the following to the end of /etc/profile:
# set PATH so it includes ARM cross-compiling tools if [ -d "/home/username/bin/arm/bin" ] ; then PATH="/home/username/bin/arm/bin:$PATH" fi
You may need to activate the change with
source /etc/profile
until the changes are made active.
Finally, try out the toolchain by issuing a command:
user@machine:~$ arm-elf-gcc --version arm-elf-gcc (GCC) 3.4.3 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Blinking led example
Todo: Blinking led code
Todo: Compilation
TODO: upload with openocd
TODO: Running
Further Help and Documentation
OpenOCD website: http://openocd.berlios.de
Further Reading
SparkFun Electronics forum: http://forum.sparkfun.com/
http://danielromaniuk.com/?q=node/19
Usage info: http://openfacts.berlios.de/index-en.phtml?title=Open%20On-Chip%20Debugger
Good howto: http://www.sparkfun.com/tutorial/ARM/ARM_Cross_Development_with_Eclipse.pdf