SAM9-L9261
User Manual
All boards produced by Olimex are ROHS compliant
Rev.C, September 2009
Copyright(c) 2009, OLIMEX Ltd, All rights reserved
INTRODUCTION:
SAM9-L9261
is a development platform with ARM9 microcontroller, TFT
LCD 3.5" 320x240 pixels with TOUCHSCREEN, 64MB SDRAM and 512MB
NAND Flash. The board has Ethernet 100Mbit controller, USB host, USB
device, RS232 and 20 pin extension port with unused SAM9261 GPIO ports
available for add-on boards. SAM9-L9261 has waste amount of Flash and
RAM and runs a 2.6.27.4 Linux. RTC clock is backed up with 3V Li battery.
FEATURES:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
MCU: AT91SAM9261 16/32 bit ARM9™ 200MHz operation.
Standard JTAG connector with ARM 2x10 pin layout for programming/
debugging with ARM-JTAG.
TFT LCD 3.5" 320x240 pixels with TOUCH SCREEN supported by Linux
framebuffer and tslib, respectively.
64 MB SDRAM.
2MB Dataflash used to store bootloaders and the Linux kernel.
512MB NAND Flash (seen in Linux as silicon MTD drive).
Ethernet 100Mbit connector with Linux driver.
Two USB host connectors supported by Linux.
USB device connector supported by the Linux Gadget driver.
RS232 interface and drivers.
SD/MMC/Dataflash card connector (see notes in the manual).
AT73C213 stereo DAC with Linux ALSA drivers.
Ten GPIOs accessible from Linux user-space applications.
Four user buttons accessible from Linux user-space applications.
One reset button
Three status LEDs.
RTC supported by Linux and with a battery backup option.
On board voltage regulator 3.3V with up to 800mA current.
Single power supply:
regulated
5V DC required.
Power supply filtering capacitor.
18.432 Mhz crystal.
PCB: FR-4, 1.5 mm (0,062"), soldermask, silkscreen component print.
Dimensions: 100 x 80 mm (3.94 x 3.15").
ELECTROSTATIC WARNING:
The SAM9-L9261 board is shipped in protective anti-static packaging. The
board must not be subject to high electrostatic potentials. General practice
for working with static sensitive devices should be applied when working
with this board.
REQUIREMENTS:
Cables:
−
1.8 meter USB A-B cable (needed for restoring the installation).
−
NULL-modem RS232 cable (needed for the Linux console).
−
UTP LAN cable (needed for connecting SAM9-L9261 to Internet).
Power Supply:
Regulated 5V DC power supply, capable of supplying at least 1A.
GETTING STARTED
Connect a null-modem cable to the board and make sure the RS232
jumpers are in the DRXD and DTXD positions. Start a terminal emulation
program and set it for 115200 bps, 8 bits, no parity, 1 stop bit. Plug a
regulated 5V DC power supply to power up the board. You will see the
bootloaders' and kernel's startup messages. Please be patient - booting can
take a couple of minutes, especially on the first boot. Login as root.
Password is not needed.
NOTE:
By default the root account
does not have a password. This will
to create a password run as root the
passwd
The root account in the Debian
“olimex”.
in the Angstrom root filesystem image
prevent remote logins via ssh. In order
following command:
root filesystem image has password
TOOLCHAIN
The sources for the bootloaders and the Linux kernel must be compiled
under Linux PC host. We don't intend to support Cygwin.
The projects were compiled using Codesourcery G++ lite 2009q1, freely
available from
http://www.codesourcery.com
. A convenience tarball
is provided that contains the Codesourcery binaries along with some useful
shell scripts. This tarball must be extracted in user's home directory.
Example:
#
cd $HOME
# tar xjf codesourcery-toolchain-2009q1-repack.tar.bz2
The latter will create a directory
$HOME/bin/codesourcery-armgcc-2009q1
along with some shell scripts that must be sourced before compilation:
# source
$HOME/bin/linux_cross_compile.sourceme
# source $HOME/bin/bootloader_cross_compile.sourceme
BOOT LOADERS
The SAM9-L9261 board requires a three-stage boot loader before booting
the Linux kernel.
RomBOOT
->
(internal ROM)
at91bootstrap ->
(dataflash)
u-boot ->
(dataflash)
Linux kernel
(dataflash)
The typical operation of each boot loader is to load the next stage program
into SDRAM and then execute a JUMP to its start address.
AT91BOOTSTRAP
Version 2.4 of at91bootstrap has been used, along with minor modifications
to add support for the SAM9-L9261 board. To compile from source:
Extract the sources:
tar xjf at91bootstrap-2.4-olimex.tar.bz2
cd at91bootstrap-2.4-olimex
Setup the environment:
source $HOME/bin/bootloader_cross_compile.sourceme
Configure at91bootstrap for SAM9-L9261
make sam9_l9261_defconfig
Compile:
make
The resulting binary is created in:
binaries/sam9_l9261-dataflashboot-2.4.bin
WARNING:
Due to AT91SAM9261 chip errata booting from NAND flash is
not supported.
U-BOOT
The used U-Boot is a GIT pull from June 11 2009, along with minor
modifications to add support for SAM9-L9261. In order to compile from
sources:
Extract the sources:
tar xjf u-boot-git20090611-olimex.tar.bz2
cd u-boot
Setup the environment:
source $HOME/bin/bootloader_cross_compile.sourceme
Configure at91bootstrap for SAM9-L9261:
make sam9_l9261_config
Compile:
make
The resulting binary is created in the main sources directory:
./u-boot.bin
WARNING:
The needed image is "u-boot.bin". The "u-boot" file is an ELF file
that cannot be directly written into dataflash!
LINUX KERNEL
The used kernel is a mainstream 2.6.30 slightly modified to include support
for the SAM9-L9261 board. As with the bootloaders, the modifications were
based on the source files for Atmel's AT91SAM9261EK board.
In order to compile the kernel its sources must be extracted first:
tar xjf linux-2.6.30-olimex.tar.bz2
Then setup the needed environment variables:
source $HOME/bin/linux_cross_compile.sourceme
Go to the source directory:
cd linux-2.6
Load the default configuration for the SAM9-L9261 board:
make sam9_l9261_defconfig
Optionally, you can tweak the kernel compile-time configuration:
make xconfig
And finally you can compile it:
make uImage
If compilation is successful, the resulting kernel image can be found in:
linux-2.6/arch/arm/boot/uImage
NOTE:
The
linux-2.6.30-olimex.tar.bz2
archive is pre-patched and ready for
compilation. The file
linux-2.6.30-olimex-patches.tar.bz2,
found in the
src