Linux & Open Source related information for AT91 Smart ARM Microcontrollers
Search: 

AT91SAM9M10 Special Page

Introduction

Hi! Welcome to the Linux4SAM page dedicated to the newly introduced AT91SAM9M10 SOC. This page provides the latest information on this MPU in the same way as elsewhere on the site Linux4SAM. Each component is detailed in its own section just below.
As is always done for the material we publish on Linux4SAM, These special releases will be integrated in each component release cycle and the associated Open Source upstream project.
The embedded video decoder can be used with GStreamer components provided: Check the video decoder solution section for get it started.
sam9m10.jpg

GettingStarted

arrowbright Demo packages available in getting started page arrowbleft

Basic components

AT91Bootstrap

Pre-built binaries

Board Description Binary
DataFlash
at91sam9m10ekes AT91Bootstrap binary with 2nd level application in Dataflash chip (SPI 0 CS 0) dataflash_at91sam9m10ekes.bin
NandFlash
at91sam9m10ekes AT91Bootstrap binary with 2nd level application in NandFlash nandflash_at91sam9m10ekes.bin

Boot capabilities matrix

Here is :
led-aqua a summary of the boot feature for each board
led-green the solution chosen for the Linux4SAM pre-built binaries.

Product Boot from
DataFlash (SPI0 CS0)
Boot from
DataFlash (SPI0 CS1)
Boot from
NAND Flash
Boot from
SD card
Boot from
NOR Flash
Boot from
Internal Flash 1
at91sam9m10ekes led-green 2   led-green    led-aqua       

Build AT91Bootstrap from sources

Sources and build process are described in the AT91Bootstrap application note page on http://www.atmel.com.

You can also retrieve latest sources from ftp://www.at91.com/pub/at91bootstrap.

hand Check additional information in the dedicated AT91Bootstrap page.

U-Boot

U-boot 1.3.4 experimental binaries

Board Description Binary
DataFlash
at91sam9m10ekes u-boot binary with environment in Dataflash chip (SPI 0 CS 0) u-boot-1.3.4-exp.4-at91sam9m10ekes-dataflash_cs0.bin
NandFlash
at91sam9m10ekes u-boot binary with environment in NandFlash u-boot-1.3.4-exp.4-at91sam9m10ekes-nandflash.bin

U-boot 1.3.4 experimental sources

Description Source Patch
Add experimental functions to AT91 u-boot u-boot 1.3.4 archive
u-boot 1.3.4 tag on git tree
u-boot-1.3.4-exp.4.diff

hand Check additional information in the dedicated U-Boot page.

Linux Kernel

Pre-built images

2.6.30 (2.6.30-at91-exp.2.patch)
Board Description Binary Configuration file
at91sam9m10ekes linux-2.6.30 uImage linux-2.6.30-at91-exp.2-at91sam9m10ekes.bin at91sam9m10ekes_defconfig

Linux4SAM AT91SAM9M10 Experimental Patches

2.6.30-at91-exp.2.patch

AT91 Linux kernel sources summary table

Linux Kernel revision Vanilla Linux Kernel AT91 Maintainer patchset Experimental patches
Linux 2.6.30 linux-2.6.30.tar.bz2 2.6.30-at91.patch.gz 2.6.30-at91-exp.2.tar.gz

hand From left to right, each patch applies on top of the previous source tree.

hand Check additional information in the dedicated Linux Kernel page.

Open source embedded distribution solutions

OpenEmbedded / Angstrom

Angstom 2008.1 binaries

Board Description Binary local.conf used
at91sam9m10ekes Angstrom x11 (graphical) image tailored for AT91
JFFS2 root filesystem
Angstrom-x11-sam9m10-image-glibc-ipk-2009.X-stable-at91sam9m10ekes.rootfs.jffs2 from at91sam9m10ekes local.conf

hand Check how to flash the roof filesystem on board in OpenEmbedded / Angstrom page.

warning Beware, some other information in those pages do not apply on this release of the distribution.

How to build Angstrom for AT91SAM9M10

Note that building an entire distribution is a long process. It also requires a big amount of free disk space ; at least :

  • ~650 MByte of source archives downloaded for Internet
  • ~5 GByte of compiled packages and tools

This documentation is largely inspired by the following resources :

To build the binary specified just above, you will have to go through the following steps.

Pre-requires

Here are the reference pages for setting up an OpenEmbedded building environment.

Note however that most of time, on a development host, those packages are often already installed.

Building environment

A step-by-step comprehensive installation is explained in the OpenEmbedded Getting Started page. The following lines have to be considered as an add-on that is AT91 specific or that can facilitate your setup.

Have a look at the OEDirectoryTree to figure out what your working environment tree will look like.

Getting BitBake

Take it through the BitBake build tool website and take the latest archive tarball. follow the advice: simply install it in your OEDirectoryTree and make a generic link:

tar xvzf bitbake-1.8.18.tar.gz
ln -s bitbake-1.8.18 bitbake

Getting OpenEmbedded

Once in your OEDirectoryTree, download a snapshot of the OpenEmbedded database using the GIT Souce Code Management tool.

git clone git://git.openembedded.org/openembedded
or using HTTP protocol:
git clone http://repo.or.cz/r/openembedded.git

Then create a local branch based on OpenEmbedded stable/2009 branch:

cd openembedded
git checkout -b stable_2009_mybranch origin/stable/2009
cd ..

AT91 OpenEmbedded / Angstrom overlay tree or patch

In addition to the upstream recipes, we also have a set of our own recipes or modifications of the original ones. So, the following patch applies to the tree that you just checkouted.

hand note however that the goal of this patch is to merge the most of it bits into the mainstream OE tree.

Description Sources Patch
OpenEmbedded database Web interface:
http://cgit.openembedded.org/
branch: stable/2009
oe_angstrom_at91-XXXX.diff.gz

Then download and install this patch:

cd openembedded
zcat ../oe_angstrom_at91xxx.diff.gz | patch -p1
cd ..

Setup local configuration and environment variables

The local configuration file is derived from the example file openembedded/conf/local.conf.sample . The local configuration is located in build/conf/local.conf .

hand Read comments in it as it will bring you valuable information and allow you to adapt it to your own environment and building host (directory structure for example). Choose the proper machine type: we will use at91sam9m10ekes for this setup:

MACHINE = "at91sam9m10ekes"

In addition, some environment variables have to be set before running a build process. We setup those variables via a little script env-oe.sh: Download it and place it in your OEDirectoryTree.

#!/bin/sh
export OETREE=`pwd`

BBPATH=${OETREE}/:${OETREE}/build/:${OETREE}/openembedded/
echo "Setting up dev env for Ångström"

if [ -z ${ORG_PATH} ] ; then
   ORG_PATH=${PATH}
   export ORG_PATH
fi

if [ -z ${ORG_LD_LIBRARY_PATH} ] ; then
   ORG_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
   export ORG_LD_LIBRARY_PATH
fi

PATH=${OETREE}/bitbake/bin:${ORG_PATH}

LD_LIBRARY_PATH=
export PATH LD_LIBRARY_PATH BBPATH
export LANG=C
export BB_ENV_EXTRAWHITE="MACHINE DISTRO OETREE ANGSTROM_MODE ANGSTROMLIBC LIBC"

echo "Altered environment for OE Development"

Then, source this script :

source ./env-oe.sh

Start building

Begin with a little set of packages :

bitbake base-image

warning even a minimal image will require a big amount of time because of the cross-toolchain building process.

The console and graphical images are built using the following recipes respectively :

TODO

bitbake angstrom-console-image-demo
bitbake angstrom-x11-image-demo

AT91SAM9M10 embedded video decoder solutions

Check the Gstreamer plugin page.


Notes

1: Only available on products with embedded Flash

2: On board DataFlash chip


r3 - 15 Jan 2010 - 16:21:48 - NicolasFerre
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Atmel® and others, are registered trademarks or trademarks of Atmel Corporation or its subsidiaries.
ARM® and others are registered trademarks or trademarks of ARM Ltd. Other terms and product names may be trademarks of others.
Ideas, requests, contributions ? Connect to LinksToCommunities page.
Syndicate this site RSSATOM