Rugged board A5D2x

Rugged board is made using microchip SoC (SAMA5d27x).

Documents:

Rugged Board data : here

SoC : sama5d2x : Details: here Datasheet: here

How to make arm hardware (rugged board) ?

Rugged board makes with

microchip SoC sama5d2x + (PMIC & ext RAM & NOR flash) + ext periperals(eth,usb,expansion card,etc)

Name

name

features

docs

SoC

sama5d2x

ref

SoM

phycore-a5d2x

ref

SBC

rugged board a5d2x

ref

Block diagram: SAM A5d2x (microchip)

sama5d2x

Boot Process: rugged Board a5d2x

  • Power on Board

  • Boot ROM

  • SPL (bootstap=boot.bin)

  • PBL (u-boot=u-boot.bin)

  • kernel (linux=zImage)

  • rootfs

For Rugged board a5d2x

Power on Board

Boot ROM

BOOTROM code (in SROM of SoC) will excute in SRAM

bootrom code will find PL from sdcard|NAND|NOR using bootconfig pins

bootrom code will load PL to SRAM

bootstrap

PL will intialize your ext RAM and loads SL to ext RAM

u-boot

u-boot loads kernel

kernel

kernel loads rootfs to ext ram

rootfs

rootfs runs in ext ram and start init process that can run other services

#for more info click here reference

Board Flashing images

1. How to flash images using SD Card

  1. See reference video

2. How to flash images using "NOR flash"

1. SDCARD Partition Reference video

2. Click here to Download images and copy images to sdcard

$ cd RBNR-20.0.0
$ cp boot.bin qspi_boot.bin
$ cp u-boot.bin qspi_u-boot.bin
$ cp qspi_boot.bin qspi_u-boot.bin /media/$USER/boot
$ sync
$ umount /media/$USER/boot

3. Flashing on Board

Compile BSP sources

Install Dependency packages in ubuntu 16.04 +

run below command in your ubuntu terminal.

sudo apt-get update
sudo apt-get -y install git-core flex bison gperf zip zlib1g-dev build-essential gettext texinfo
sudo apt-get -y install  fakeroot gnupg libsdl1.2-dev squashfs-tools u-boot-tools expect libncurses5-dev
sudo apt-get -y install minicom lrzsz tftpd-hpa nfs-kernel-server nfs-common portmap patch vim gawk libncursesw5-dev
sudo apt-get -y install xinetd tftpd tftp ctags quilt

1. ARM Toolchain setup

$ mkdir yoctotutor
$ mkdir yoctotutor/toolchain
$ cd yoctotutor/toolchain

$ cd toolchain
$ wget https://files.linux4sam.org/pub/demo/yocto-sdk/poky-atmel-glibc-x86_64-microchip-headless-image-cortexa5t2hf-neon-vfpv4-sama5d27-wlsom1-ek-sd-toolchain-3.1.4.sh
$ chmod 777 poky-atmel-glibc-x86_64-microchip-headless-image-cortexa5t2hf-neon-vfpv4-sama5d27-wlsom1-ek-sd-toolchain-3.1.4.sh
$ ./poky-atmel-glibc-x86_64-microchip-headless-image-cortexa5t2hf-neon-vfpv4-sama5d27-wlsom1-ek-sd-toolchain-3.1.4.sh
        # press "." to install sdk in current directory
$ source environment-setup-cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi

2. at91Bootstrap Compilation

Don't Forget to run Toolchain env before compiling

### Download at91bootstrap source ###

$ cd ~/yoctotutor
$ git clone https://github.com/rugged-board/at91bootstrap-rba5d2x.git
$ cd at91bootstrap-rba5d2x
$ git checkout origin/at91bootstrap-rba5d2x_v3.8.12

### Compilation ###

$ cd at91bootstrap-rba5d2x
$ source ~/yoctotutor/toolchain/environment-setup-cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi
$ make mrproper
$ make rugged_board_a5d2xsd1_uboot_defconfig       # For SDCARD 
                or
$ make rugged_board_a5d2xqspi_uboot_defconfig      # For NOR Flash
$ make

$ ls binaries/                # boot.bin is output

output boot.bin is created in binaries/ dir

For Testing images click sdcard image | NOR image

3. U-boot Compilation

Don't Forget to run Toolchain env before compiling

### Download U-boot source ###

cd ~/yoctotutor
git clone https://github.com/rugged-board/uboot-rba5d2x.git
cd uboot-rba5d2x
git checkout uboot-rba5d2x

### Compile ###

$ cd ~/yoctotutor/uboot-rba5d2x
$ source ~/yoctotutor/toolchain/environment-setup-cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi
$ make mrproper
$ make rugged_board_a5d2x_mmc1_defconfig                # for SDCARD
                or
$ make rugged_board_a5d2x_qspiflash_defconfig           # for NOR Flash
$ make -j4

For Testing images click sdcard image | NOR image

4. Linux Kernel Compilation

step-1: download Linux kernel

### download linux ###

$ cd ~/yoctotutor
$ git clone https://github.com/rugged-board/linux-rba5d2x.git
$ cd linux-rba5d2x
$ git checkout origin/linux-rba5d2x

### Compile Linux ###

$ cd ~/yoctotutor/linux-rba5d2x
$ source ~/yoctotutor/toolchain/environment-setup-cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi
$ make mrproper
$ make rb_a5d2x_defconfig
$ make -j4

Copy zimage and 5d2x-rugged_board.dtb to sdcard. zImage: arch/arm/boot/zImage oftree: arch/arm/boot/dts/a5d2x-rugged_board.dtb

************************************************************************************************************************************************************

Advanced Topics

Device tree and Device driver api and application

click here

Last updated

Was this helpful?