Welcome to the Linux4SAM page dedicated to the newly introduced AT91SAM9N12-EK board.
|
![]() |
![]() ![]() |
!BootingMedia | Description | Binary |
---|---|---|
SerialFlash | AT91Bootstrap binary with 2nd level application in SerialFlash | boot.bin![]() |
SDCard | AT91Bootstrap binary with 2nd level application in Micro SD Card | at91sam9n12ek-sdcardboot-3.2.bin![]() Rename it as BOOT.BIN while loading it on SD card. |
Product | Boot from SerialFlash (SPI0 CS0) |
Boot from SerialFlash (SPI0 CS1) |
Boot from NAND Flash |
Boot from SD card |
Boot from TWI EEPROM |
---|---|---|---|---|---|
AT91SAM9N12-EK | ![]() |
![]() |
![]() |
![]() |
![]() |
$ wget ftp://ftp.linux4sam.org/pub/at91bootstrap/AT91Bootstrap3.2/at91bootstrap_9n12.tar.gz $ tar xvzf at91bootstrap_9n12.tar.gz $ cd at91bootstrap
$ make at91sam9n12df_defconfigAnd if you want to run it from the SD card use:
$ make at91sam9n12sd_defconfig
CROSS_COMPILE
variable. This will be explained later.
Then you can customize the AT91Bootstrap configuration further with:
$ make menuconfig
$ make CROSS_COMPILE=<path_to_cross-compiler/cross-compiler-prefix-><path_to_cross-compiler> is only needed if it is not in your PATH. Usually cross-compiler-prefix- looks like
arm-linux-
, arm-elf-
or arm-none-linux-gnueabi-
.
The result of this operation is a fresh AT91Bootstrap binary located in the binaries
directory and called at91sam9n12ek-xxxboot-3.2.bin
corresponding to the binary ELF file called at91sam9n12ek-xxxboot-3.2.elf
.
at91sam9n12ek-dataflashboot-3.2.bin
is the binary file able to boot the application located in Serial Flash.
at91sam9n12ek-sdcardboot-3.2.bin
is the binary file able to boot the application called u-boot.bin
located in the FAT32 formated SD card.
Booting Media | Description | Binary |
---|---|---|
!SerialFlash | U-Boot binary with environment in SerialFlash Based on U-Boot revision 2011.06 |
u-boot.bin![]() |
Description | Source | Patch |
---|---|---|
Add at91sam9n12 support to AT91 u-boot | U-Boot 2011.06 archive![]() U-Boot 2011.06 tag on git tree ![]() |
U-Boot-9n12_m2.patch![]() |
$ wget ftp://ftp.denx.de/pub/u-boot/u-boot-2011.06.tar.bz2 $ tar xvjf u-boot-2011.06.tar.bz2 $ cd u-boot-2011.06Or by using GIT:
$ git clone http://git.denx.de/u-boot.git $ cd u-boot $ git checkout v2011.06 -b yourbranchThen apply the at91 AT91SAM9N12 patch:
$ wget ftp://ftp.linux4sam.org/pub/uboot/u-boot-v2011.06/u-boot-9n12_m2.patch $ patch -p1 < u-boot-9n12_m2.patch
$export CROSS_COMPILE=<path_to_cross-compiler/cross-compiler-prefix-><path_to_cross-compiler> is only needed if it is not in your PATH. Usually cross-compiler-prefix- looks like
arm-linux-
, arm-elf-
or arm-none-linux-gnueabi-
.
And now you can compile U-Boot. If you want to compile it for Serial Flash:
$ make at91sam9n12ek_dataflash_cs0The result of this operation is a fresh u-boot binary called
u-boot.bin
corresponding to the binary ELF file called u-boot
.
u-boot.bin
is the file you should store on the board.
u-boot
is the ELF format binary file you may use to debug u-boot through a JTAG link for instance.
2.6.39 (2.6.39-at91sam9n12-exp.tar.gz) | ||
---|---|---|
Board | Description | Binary |
at91sam9n12ek | linux-2.6.39 uImage configured by at91sam9n12ek_defconfig \ |
uImage-2.6.39-m2-at91sam9n12ek.bin![]() |
tftp 0x22000000 uImage-2.6.39-m2-at91sam9n12ek.bin sf probe 0 sf erase 0x100000 0x300000 sf write 0x22000000 0x100000 0x250000 bootNote that last parameter is the actual size of the binary written. You may adapt it to the size of your kernel image.
Linux Kernel revision | Vanilla Linux Kernel | AT91 Maintainer patchset | Experimental patches |
---|---|---|---|
![]() |
linux-2.6.39.tar.bz2![]() |
Not needed \ | 2.6.39-at91sam9n12-exp.tar.gz![]() |
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2 $ tar xvjf linux-2.6.39.tar.bz2 $ cd linux-2.6.39Now you need to apply the Atmel patch series:
$ wget ftp://ftp.linux4sam.org/pub/linux/2.6.39-at91/2.6.39-at91sam9n12-exp.tar.gzDecompress archive with:
$ tar xvzf 2.6.39-at91sam9n12-exp.tar.gzAnd then apply patchset one patch after the other in proper order:
$ patch -p1 < 2.6.39-at91-exp.patch
$ make ARCH=arm at91sam9n12ek_defconfigThen you can customize the kernel configuration further with:
$ make ARCH=arm menuconfigBuild the Linux kernel image:
$ make ARCH=arm CROSS_COMPILE=<path_to_cross-compiler/cross-compiler-prefix-><path_to_cross-compiler> is only needed if it is not in your PATH. Usually cross-compiler-prefix- looks like
arm-linux-
, arm-elf-
or arm-none-linux-gnueabi-
.
To produce a kernel image suitable for U-Boot:
mkimage -A arm -O linux -C none -T kernel -a 20008000 -e 20008000 -n linux-2.6 -d arch/arm/boot/zImage uImage.bin
Board | Description | Binary |
---|---|---|
AT91SAM9N12-EK | QT Demo image tailored for AT91 UBI root filesystem | Angstrom-qt4e-at91sam9n12ek-image-eglibc-ipk-v20120109-at91sam9n12ek.rootfs.ubi![]() |
Board | Description | Binary |
---|---|---|
at91sam9n12ek | BuildRoot image tailored for AT91 UBI root filesystem | buildroot_2011.05-at91_9n12_m2.ubi![]() |
Copyright © 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.