SAM9-L9260 Hacking: Difference between revisions

From Hive76 Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 18: Line 18:
5) Load a program:
5) Load a program:
TODO
TODO
== (BAD) Linux Development Enviroment setup  ==
== SAM9-L9260 ==  
(for Gentoo  (Gentoo) Gentoo Crossdev works. See http://www.rockbox.org/wiki/CrossCompiler)
The SAM9-L9260 does not seem to run the prebuilt binaries from the Atmel CD. The atmel data comes as binaries SDRam NORFlash. We tried loading them into DFlash, NANDFlash, and other sections of the chip, and it didn't work. Assuming that is because the Olimex board is different from the official Atmel board.
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
(testing svn checkout 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
  sudo apt-get install libtool
  sudo apt-get install libftdi1
  sudo apt-get install libftdi-dev
  sudo apt-get install texinfo
  ./bootstrap
  ./configure --enable-ft2232_libftdi
  make
  make ins
next: follow http://code.google.com/p/rockboxplayer/wiki/EclipseWithJTAGDebugSetup

Revision as of 02:00, 16 December 2009

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

Setup dev machine (Linux)

We have attempted setup on OSX and on Windows. In both cases, it was hard to get the project working. So instead we are working with Linux (Ubuntu 9.04) for our development.

  • Install Ubuntu

Bootloader (SAM)

1) The first thing to check is your bootloader, to make sure you can load code onto the board. 2) Download the bootloader (called SAM-BA) from the Atmel website, as part of the sam-ba_cdc_2.9.linux_cdc CD. That CD contains the linux tools for general Atmel ARM development. 3) Download some pre-built projects to test. You can download a CD image with a bunch of prebuilt projects from Atmel called at91sam9260-ek That disk will contain a directory 'packages' which is full of pre-built example projects, including the completed binaries. 4) Connect to the board Connecting to the board via SAM-BA is annoyingly complicated, and a bit wonky. It's bad bad design, and took a bit to figure out. To make a long process short, you have to munge the 'usbserial' kernel module. 4a) setup the machine That means you need to unload it if it's loaded, reload it with some custom settings, and then check it connected ok. Details on the computer side of that process are at http://www.at91.com/linux4sam/bin/view/Linux4SAM/SoftwareTools. ( TODO: add link to /serial_magic_for_sam9-l9260.sh) 4b) Setup the board For the board itself (the Olimex SAM9-L9260) you will also have to pull a couple of jumpers to get the programmer to connect properly. Unplug the board from the computer, and from the wall, and pull off jumper DF_E and jumper NAND_E. AFAIK (check this) that prevents the board from booting from flash or NAND flash, and it will default to a reprorgamming mode. (insert photo) 4c) Run SAM-BA While those jumpers are removed, plug power into the board. The reconenct the jumpers and connect the USB cable from your computer to the SAM9-L9260 board. The check at the command line if '/dev/ttyUSB?' exists. If that is there, If you then run SAM-BA (having done 1 - 4) you should see the /dev/ttyUSB? listed as connection, and you should be able to select the board 'at91sam9260-ek' in the 'select your board' menu. Click connect to connect to the board. 5) Load a program: TODO

SAM9-L9260

The SAM9-L9260 does not seem to run the prebuilt binaries from the Atmel CD. The atmel data comes as binaries SDRam NORFlash. We tried loading them into DFlash, NANDFlash, and other sections of the chip, and it didn't work. Assuming that is because the Olimex board is different from the official Atmel board.