SAMA5D3X-CM: Difference between revisions
Add link for information about SAM-BA 3.x |
Note that Buildroot now also builds the SAM-BA host tool automatically |
||
| (One intermediate revision by the same user not shown) | |||
| Line 46: | Line 46: | ||
|- | |- | ||
| style="padding: 5px;"| binaries/at91bootstrap.bin | | style="padding: 5px;"| binaries/at91bootstrap.bin | ||
| style="padding: 5px;"| BIN image, should be programmed at address 0x0 | | style="padding: 5px;"| BIN image, should be programmed at address 0x0 | ||
|- | |- | ||
| style="padding: 5px;"| binaries/at91bootstrap.elf | | style="padding: 5px;"| binaries/at91bootstrap.elf | ||
| Line 70: | Line 70: | ||
In addition to these required packages, you should also install libssl-dev: | In addition to these required packages, you should also install libssl-dev: | ||
$ sudo apt-get install libssl1.0-dev | $ sudo apt-get install libssl1.0-dev | ||
or, depending on your host distribution: | or, depending on your host distribution: | ||
$ sudo apt-get install libssl-dev | $ sudo apt-get install libssl-dev | ||
==== Get sources ==== | ==== Get sources ==== | ||
$ git clone https://github.com/ | $ mkdir buildroot-ronetix | ||
$ cd buildroot-ronetix | |||
$ git clone https://github.com/linux4microchip/buildroot-mchp.git | |||
$ git clone https://github.com/ronetix/br2-external-ronetix.git | |||
$ cd buildroot-mchp | $ cd buildroot-mchp | ||
$ git switch -c linux4microchip-2026.04 linux4microchip-2026.04 | |||
==== Build ==== | ==== Build ==== | ||
$ make | $ make BR2_EXTERNAL=../br2-external-ronetix sama5d3x_cm_defconfig | ||
$ make | $ make | ||
Once compilation is done, the images have been generated in: ./output/image:<br> | Once compilation is done, the images have been generated in: ./output/image:<br> | ||
* at91bootstrap.bin | * at91bootstrap.bin | ||
* rootfs.tar | * rootfs.tar | ||
* u-boot.bin | * u-boot.bin | ||
* u-boot-spl.bin | * u-boot-spl.bin | ||
* zImage | * zImage | ||
* sama5d31ek.dtb | * sama5d31ek.dtb | ||
* sama5d33ek.dtb | * sama5d33ek.dtb | ||
* sama5d34ek.dtb | * sama5d34ek.dtb | ||
* sama5d35ek.dtb | * sama5d35ek.dtb | ||
* sama5d36ek.dtb | * sama5d36ek.dtb | ||
* rootfs.ubi | * rootfs.ubi | ||
* rootfs.ubifs | * rootfs.ubifs | ||
The SAM-BA programming tool (used in the "Programming with SAM-BA 3.x" section below) is also built automatically by this defconfig and installed at:<br> | |||
* ./output/host/bin/sam-ba | |||
==== Customizing Buildroot ==== | ==== Customizing Buildroot ==== | ||
| Line 124: | Line 131: | ||
| style="padding: 5px;"| 0x00040000 | | style="padding: 5px;"| 0x00040000 | ||
| style="padding: 5px;"| u-boot.bin | | style="padding: 5px;"| u-boot.bin | ||
| style="padding: 5px;"| U-BOOT, third level bootloader | | style="padding: 5px;"| U-BOOT, third level bootloader | ||
|- | |- | ||
| style="padding: 5px;"| 0x00180000 | | style="padding: 5px;"| 0x00180000 | ||
Latest revision as of 15:58, 15 September 2026
|
SAMA5D3X-CM is a System-on-module (SoM) board in SODIMM204 format designed for embedded applications. SAMA5D3X-CM is using the Microchip (ATMEL) ATSAMA5D3X CPU with a CORTEX-A5 CPU running at 536MHz Product Info: https://ronetix.at/product/sama5d3x-cm-cpu-module-with-atmel-sama5d3-series
Information about at91bootstrap, U-BOOT, Linux can be found here: |
Building at91bootstrap - second level bootloader for SAMA5D3X-CM
This bootloader is based on https://github.com/linux4sam/at91bootstrap, branch at91bootstrap-3.x
Setup the cross-compiler and CPU architecture
$ export ARCH=arm $ export CROSS_COMPILE=/opt/cross/arm-ronetix-eabi-8.3.0/bin/arm-ronetix-eabi-
Clone the latest revision of the repo
$ git clone https://github.com/ronetix/at91bootstrap.git -b at91bootstrap-3.10.4_rnx $ cd at91bootstrap
Configure and build
$ make sama5d3x_cm_nf_uboot_defconfig $ make
Alternative: Configure and build with GPIO test
This requires a special prepared Ronetix's carrier board with shorted pin pairs. Used for production tests.
$ make sama5d3x_cm_gpio_test_defconfig $ make
Build Results
| File Name | Description |
|---|---|
| binaries/at91bootstrap.bin | BIN image, should be programmed at address 0x0 |
| binaries/at91bootstrap.elf | ELF image used for JTAG debugging |
Building Buildroot - a simple Linux System for SAMA5D3X-CM
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.
The home page of Buildroot is: https://buildroot.org
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html
The Buildroot for SAMA5D3x is maintained by Microchip: https://www.linux4sam.org/bin/view/Linux4SAM/BuildRoot
Buildroot can build:
- at91bootstrap
- U-BOOT
- Linux Kernel
- A cross-compiler
- Root filesystems of different types
Prerequisites
Host build system should be a Linux system with necessary software installed: http://buildroot.uclibc.org/downloads/manual/manual.html#requirement
In addition to these required packages, you should also install libssl-dev:
$ sudo apt-get install libssl1.0-dev
or, depending on your host distribution:
$ sudo apt-get install libssl-dev
Get sources
$ mkdir buildroot-ronetix $ cd buildroot-ronetix $ git clone https://github.com/linux4microchip/buildroot-mchp.git $ git clone https://github.com/ronetix/br2-external-ronetix.git
$ cd buildroot-mchp $ git switch -c linux4microchip-2026.04 linux4microchip-2026.04
Build
$ make BR2_EXTERNAL=../br2-external-ronetix sama5d3x_cm_defconfig $ make
Once compilation is done, the images have been generated in: ./output/image:
- at91bootstrap.bin
- rootfs.tar
- u-boot.bin
- u-boot-spl.bin
- zImage
- sama5d31ek.dtb
- sama5d33ek.dtb
- sama5d34ek.dtb
- sama5d35ek.dtb
- sama5d36ek.dtb
- rootfs.ubi
- rootfs.ubifs
The SAM-BA programming tool (used in the "Programming with SAM-BA 3.x" section below) is also built automatically by this defconfig and installed at:
- ./output/host/bin/sam-ba
Customizing Buildroot
AT91Bootstrap
$ make at91bootstrap3-menuconfig
U-BOOT
$ make uboot-menuconfig
Linux Kernel
$ make linux-menuconfig
RootFs
$ make menuconfig
Programming images
SAM-BA tool or PEEDI JTAG Flash Programmer can be used for programming the images into the NAND Flash.
All images should be programmed with 8-bit ECC.
| Address | Image | Note |
|---|---|---|
| 0x00000000 | boot.bin | at91bootstrap, programmed with header 0xc0304405 |
| 0x00040000 | u-boot.bin | U-BOOT, third level bootloader |
| 0x00180000 | sama5d35ek.dtb | Device tree for Linux Kernel |
| 0x00200000 | zImage | Linux Kernel |
| 0x00F80000 | rootfs.ubi | Root file system |
Programming with SAM-BA 3.x
$ sam-ba -p usb -b sama5d3-ek -a lowlevel $ sam-ba -p usb -b sama5d3-ek -a nandflash -c erase $ sam-ba -p usb -b sama5d3-ek -a nandflash -c writeboot:boot.bin $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:u-boot.bin:0x40000 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:sama5d35ek.dtb:0x180000 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:zImage:0x200000 $ sam-ba -p usb -b sama5d3-ek -a nandflash:1:8:0xc0304405 -c write:rootfs.ubi:0xF80000
More information about SAM-BA 3.x can be found here:
https://www.linux4sam.org/bin/view/Linux4SAM/Samba3Subsections
