Jérôme Belleman
Home  •  Tools  •  Posts  •  Talks  •  Travels  •  Graphics  •  About Me

Building the Atmel NGW Development Kit

15 Mar 2008

Building and setting up the development environment for this embedded network gateway isn't that straightforward. Here are a few notes of how it's done.

1 Building the Development Kit

It's hard to build the development tools, no matter where they come from, Atmel or the now defunct http://avr32linux.org website. However, Atmel provide a buildroot utility which can create a complete root filesystem for the NGW100 and creates the toolchain (i.e. gcc, binutils and friends) in the process. It will successfully get from the web and build all the necessary dependencies.

  1. Get buildroot from Atmel's website.
  2. Get the source for the various tools needed. Sticking to these versions proved to be successful:
    • binutils-2.18.tar.bz2
    • gcc-4.2.2.tar.bz2
    • gmp-4.2.2.tar.bz2
    • linux-2.6.27.6.tar.bz2
    • mpfr-2.3.0.patch
    • mpfr-2.3.0.tar.bz2
    • uClibc-0.9.30.tar.bz2
    Note that it's easier to run this process online, and then get the sources from the dl directory that will be created in the buildroot source directory. Alternatively, you can issue a make source command in the buildroot source directory to get the sources according to the configuration you made. However, not all necessary libraries are downloaded by default (e.g. gmp).
  3. Move all the tool archives to a directory you'll refer to from the buildroot directory with a link called dl.
  4. Run make. A curses interface will show up where you can configure the build:
    1. Set target architecture to avr32.
    2. In the Build options, set the Toolchain and header file location to something where you want the toolchains to be installed.
    3. In the Package Selection for the target, uncheck BusyBox as we don't want to build the BusyBox.
    4. In the Target filesystem options, unset ext2 root filesystem. No BusyBox → No filesystem.
    5. Exit to write the .config file.
  5. Run make again. You won't have to make install – everything will be installed appropriately.

You'll find the cross-compiler in $PREFIX/avr/usr/bin/avr32-linux-gcc. It's used exactly like gcc.

2 Network Setup Notes

The eth0 interface is the left one when you look at the back of the board. The address should be changed in /etc/network/interfaces to make the configuration permanent. Note that the eth0 interface seems to be configured to use DHCP by default.

3 Non-References