SAM9-L9260 Hacking: Difference between revisions

From Hive76 Wiki
Jump to navigationJump to search
Line 13: Line 13:
2) run 'rockbox_tools/rockboxdev.sh' it will ask for a target, select arm as your target by pressing 'a' when prompted.
2) run 'rockbox_tools/rockboxdev.sh' it will ask for a target, select arm as your target by pressing 'a' when prompted.
=== Setup GDB tools :===
=== Setup GDB tools :===
lovingly based on http://code.google.com/p/rockboxplayer/wiki/DevelopmentEnvironmentSetup
1) sudo apt-get install libncurses5-dev
1) sudo apt-get install libncurses5-dev
2) Build GDB for arm-elf manually (it sees there is no package for it?)
2) Build GDB for arm-elf manually (it sees there is no package for it?)
Line 23: Line 24:
4) get the lyre project source code (as test/reference for SAM9  
4) get the lyre project source code (as test/reference for SAM9  
  can be fetched via 'hg clone http://lyre.hg.sourceforge.net:8000/hgroot/lyre/lyre lyre_src'
  can be fetched via 'hg clone http://lyre.hg.sourceforge.net:8000/hgroot/lyre/lyre lyre_src'
==== Install OpenOCD ====
We are using ARM-USB-TINY JTAG hardware but others JTAG hardware should work on a similar way if supported by OpenOCD.
Actual scripts works with OpenOCD revision 732, so we get and build that revision:
svn checkout -r 732 svn://svn.berlios.de/openocd/trunk
We need to enable "ft2232_libftdi" because JTAG ARM-USB-TINY uses it. We may need to install "libftdi dev" using apt-get.
cd trunk
sudo apt-get-install automake
./bootstrap
./configure --enable-ft2232_libftdi
make
make ins

Revision as of 02:00, 23 September 2009

A couple of SAM9 Boards are around the space (see http://www.olimex.com/dev/sam9-L9260.html for spec's).

Bootloader:

Mac:

1) Give up on OSX. IT won't work properly, I tried. Well, you can try too, but I found another way... 2) Load linux on your mac. Rock on! 3) Download 'SAM-BA_CDC.zip (Linux - v1.13 current release) (7 MB, revision 1.13, updated 6/09)' from http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3883 4) Unzip that package somewhere helpful. Connect your USB -> Serial connector , and connect your serial to the board. 5) run lsusb, and look for 'Bus 004 Device 007: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port' 5) if that exists, go into the SAM-BA directory, and run ./sam-ba. You should be able to select /dev/ttyUSB0 and connect to it.

Linux Development Enviroment setup

(for Gentoo (Gentoo) Gentoo Crossdev works. See http://www.rockbox.org/wiki/CrossCompiler) 1) download rockbox source "svn co svn://svn.rockbox.org/rockbox/trunk/tools rockbox_tools" 2) run 'rockbox_tools/rockboxdev.sh' it will ask for a target, select arm as your target by pressing 'a' when prompted.

Setup GDB tools :

lovingly based on http://code.google.com/p/rockboxplayer/wiki/DevelopmentEnvironmentSetup 1) sudo apt-get install libncurses5-dev 2) Build GDB for arm-elf manually (it sees there is no package for it?)

 a) download GDB via 'wget http://ftp.gnu.org/gnu/gdb/gdb-6.8.tar.bz2'
 b) unpack via 'tar -xvvf gdb-6.8.tar.bz2'
 c) move into gdb 'cd gdb-6.8'
 d) configure gdb './configure --target=arm-elf  --prefix=/usr/local/arm-elf --disable-werror'
 e) build via 'make' and install via 'make install'

3) When build is done, edit .bashrc so that it includes PATH=$PATH:/usr/local/arm-elf/bin 4) get the lyre project source code (as test/reference for SAM9

can be fetched via 'hg clone http://lyre.hg.sourceforge.net:8000/hgroot/lyre/lyre lyre_src'

Install OpenOCD

We are using ARM-USB-TINY JTAG hardware but others JTAG hardware should work on a similar way if supported by OpenOCD. Actual scripts works with OpenOCD revision 732, so we get and build that revision: svn checkout -r 732 svn://svn.berlios.de/openocd/trunk We need to enable "ft2232_libftdi" because JTAG ARM-USB-TINY uses it. We may need to install "libftdi dev" using apt-get. cd trunk sudo apt-get-install automake ./bootstrap ./configure --enable-ft2232_libftdi make make ins