SAMA5D3X-CM: Difference between revisions

From Ronetix's Wiki
Jump to navigation Jump to search
Add instructions to build at91bootstrap
 
Note that Buildroot now also builds the SAM-BA host tool automatically
 
(8 intermediate revisions by the same user not shown)
Line 26: Line 26:


==== Clone the latest revision of the repo ====
==== Clone the latest revision of the repo ====
  $ git clone git@github.com:ronetix/at91bootstrap.git -b {{#var:BRANCH}}
  $ git clone https://github.com/ronetix/at91bootstrap.git -b {{#var:BRANCH}}
  $ cd at91bootstrap
  $ cd at91bootstrap


Line 33: Line 33:
  $ make
  $ make


= Build Results =
==== 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 ====
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 40: 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 46: Line 52:
|-
|-
|}
|}
= Building Buildroot - a simple Linux System for {{#var:HARDWARE_NAME}} =
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.<br>
The home page of Buildroot is: https://buildroot.org<br>
The Buildroot user manual can help you better understand how Buildroot works: http://www.buildroot.net/downloads/manual/manual.html<br>
The Buildroot for SAMA5D3x is maintained by Microchip: https://www.linux4sam.org/bin/view/Linux4SAM/BuildRoot<br>
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<br>
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:<br>
* 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:<br>
* ./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.<br>
All images should be programmed with 8-bit ECC.
{| class="wikitable"
|-
! scope="col" | Address
! scope="col" | Image
! scope="col" | Note
|-
| style="padding: 5px;"| 0x00000000
| style="padding: 5px;"| boot.bin
| style="padding: 5px;"| at91bootstrap, programmed with header 0xc0304405
|-
| style="padding: 5px;"| 0x00040000
| style="padding: 5px;"| u-boot.bin
| style="padding: 5px;"| U-BOOT, third level bootloader
|-
| style="padding: 5px;"| 0x00180000
| style="padding: 5px;"| sama5d35ek.dtb
| style="padding: 5px;"| Device tree for Linux Kernel
|-
| style="padding: 5px;"| 0x00200000
| style="padding: 5px;"| zImage
| style="padding: 5px;"| Linux Kernel
|-
| style="padding: 5px;"| 0x00F80000
| style="padding: 5px;"| rootfs.ubi
| style="padding: 5px;"| 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:<br>
https://www.linux4sam.org/bin/view/Linux4SAM/Samba3Subsections

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:
https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d3xekMainPage

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