SAMA5D29 Curiosity

Last modified by Microchip on 2025/11/24 07:29

SoC Features

The SAMA5D2 series is a high-performance, ultra-low-power ARM Cortex-A5 processor based MPU. The Cortex A5 processor runs up to 500MHz and features the ARM NEON SIMD engine a 128kB L2 cache and a floating point unit. It supports multiple memories, including latest-generation technologies such as DDR3, LPDDR3, and QSPI Flash. It integrates powerful peripherals for connectivity (EMAC, USB, dual CAN, up to 10 UARTs, etc.) and user interface applications (TFT LCD controller, embedded capacitive touch controller, class D amplifier, audio PLL, CMOS sensor interface, etc.). The devices offer advanced security functions to protect customer code and secure external data transfers. These include ARM TrustZone, tamper detection, secure data storage, hardware encryption engines including private keys, on-the-fly decryption of code stored in external DDR or QSPI memory and a secure boot loader.

sama5d2.png

Kit Information

Kit Overview

The SAMA5D29-Curiosity follows the Microchip MPU strategy for low-cost evaluation kits, showcasing all the features that the SAMA5D29 MPU offers.

The SAMA5D29-Curiosity board integrates a 4-Gbit LPDDR2SDRAM, one LCD RGB666 interface, one ISC Camera header, one USB Type-C™ connector, one USB Type-A connector, one μSD card interface, one SD Card / Radio Module interface, a Power Management IC (PMIC), a 64 Mb QSPI memory and one 10/100 RMII add-on slot.

For expansion : Raspberry Pi 40-pin GPIO connector, two mikroBUS™ connectors (Hundreds of possible Click™ extensions featuring Microchip functions inside), one multipurpose 20-pin connector (Exposes NAND Flash interface) and two PIOBU/System headers.

The Kit is supported Linux4Microchip Kernel LTS as well as mainline Linux Kernel.

The SAMA5D29-Curiosity documents can be found on microchip website, as following:

Kit Overview

Kit User Guide

a5d29-curiosity_board_presentation.jpg

Access the console

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.Boards.__notes._board-sections-test.common-serial.WebHome]]. Click on this message for details.

Access the console on DEBUG serial port

The serial console can be accessed from the DEBUG port with the help of a TTL-to-USB serial cable (marked as DEBUG J28).

Using DEBUG on TTL-to-USB connector (DEBUG J28)

  • For Microsoft Windows users: Install the driver of your USB TTL serial cable. FTDI-based ones are the most popular, have a look to this page to get the driver: https://www.ftdichip.com/Drivers/VCP.htm * Be sure to connect a 3.3V compatible cable and identify its GND pin. Place it properly according to the silkscreen and connect the cable to the board (J28)
    • For Microsoft Windows users: Identify the USB connection that is established, USB Serial Port should appear in Device Manager. The COMxx number will be used to configure the terminal emulator.
      ftdi serial line
    • For Linux users: Identify the serial USB connection by monitoring the last lines of dmesg command. The /dev/ttyUSBx number will be used to configure the terminal emulator.
      [605576.562740] usb 1-1.1.2: new full-speed USB device number 17 using ehci-pci
      [605576.660920] usb 1-1.1.2: New USB device found, idVendor=0403, idProduct=6001
      [605576.660933] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      [605576.660939] usb 1-1.1.2: Product: TTL232R-3V3
      [605576.660944] usb 1-1.1.2: Manufacturer: FTDI
      [605576.660958] usb 1-1.1.2: SerialNumber: FTGNVZ04
      [605576.663092] ftdi_sio 1-1.1.2:1.0: FTDI USB Serial Device converter detected
      [605576.663120] usb 1-1.1.2: Detected FT232RL [605576.663122] usb 1-1.1.2: Number of endpoints 2
      [605576.663124] usb 1-1.1.2: Endpoint 1 MaxPacketSize 64
      [605576.663126] usb 1-1.1.2: Endpoint 2 MaxPacketSize 64
      [605576.663128] usb 1-1.1.2: Setting MaxPacketSize 64
      [605576.663483] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB0
      A /dev/ttyUSB0 node has been created.
  • Now open your favorite terminal emulator with appropriate settings

Demo

Demo archives

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.demo-archive.archive2025_10.sama5d29curiosity.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.faq.demo-sd.WebHome]]. Click on this message for details.

Build From source code

Setup ARM Cross Compiler

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.subsections.cross-compiler.13-2-rel1.WebHome]]. Click on this message for details.

Build AT91Bootstrap from sources

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.subsections.at91bootstrap.build-at91bootstrap-all-top.WebHome]]. Click on this message for details.

Assuming you are at the AT91Bootstrap root directory, you will find a configs folder which contains several default configuration files:

sama5d29_curiositysd_uboot_defconfig
sama5d29_curiositysd1_uboot_defconfig
sama5d29_curiosityqspi_uboot_defconfig
Information

Tips: qspi means to read quad-SPI serial flash, sd means to read mmc card.

You can configure AT91Bootstrap to load U-Boot binary from SD Card by doing:

$ make mrproper
$ make sama5d29_curiositysd_uboot_defconfig

If the configuring process is successful, the .config file can be found at AT91Bootstrap root directory.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.subsections.at91bootstrap.build-at91bootstrap-all-bottom.WebHome]]. Click on this message for details.

Build U-Boot from sources

Getting U-Boot sources

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.subsections.u-boot.uboot-get-source.WebHome]]. Click on this message for details.

Cross-compiling U-Boot

Before compiling the U-Boot, you need setup cross compile toolchain in the Setup ARM Cross Compiler section above.

Warning

Latest versions of U-boot (2018.07 and newer) have a minimum requirement of 6.0 version of the GCC toolchain. We always recommend to use the latest versions.

Once the Microchip U-Boot sources available, cross-compile U-Boot is made in two steps: configuration and compiling. Check the Configuration chapter in U-Boot reference manual.

Information

 Go to the configs/ to find the exact target when invoking make.

The U-Boot environment variables can be stored in different media, above config files can specify where to store the U-Boot environment.

   # To put environment variables in uSD card:
  sama5d29_curiosity_mmc_defconfig
  # To put environment variables in SD card:
  sama5d29_curiosity_mmc1_defconfig
  # To put environment variables in quad-SPI serial flash:
  sama5d29_curiosity_qspiflash_defconfig   

Here are the building steps for the SAMA5D29-Curiosity board:

# You can change the config according to your needs.
make sama5d29_curiosity_mmc_defconfig
make or make -j <num_of_cpus> or make -j $(nproc --all)

The result of these operations is a fresh U-Boot binary called u-boot.bin corresponding to the binary ELF file 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.

Build Kernel from sources

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-6-12.build-linux-top.WebHome]]. Click on this message for details.

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.components.linuxkernel.linuxkernel-6-12.build-linux-bottom.WebHome]]. Click on this message for details.

Build Yocto Project rootfs from sources

Failed to execute the [display] macro. Cause: [Current user [null] doesn't have view rights on document [xwiki:Development.applications.linux4sam.faq.oebuild.oe-build.WebHome]]. Click on this message for details.

Recent FAQ