SAMA5D29-Curiosity – Configure and Build at91bootstrap to Load an MPLAB® Harmony v3 Application from SQI™ Flash Memory
Introduction
This training topic describes how to download, configure, and build at91bootstrap to load an MPLAB® Harmony v3 Software Framework application binary image (harmony.bin) from Serial Quad I/O™ (SQI™) Flash Memory to DDR2 SDRAM on the SAMA5D29-Curiosity Development Board using the MPLAB X Integrated Development Environment (IDE).
Once at91bootstrap has been built, the resulting binary image (boot.bin) can be written to SQI Flash Memory using the SAM-BA® In-System Programmer (ISP).
Prerequisites
- MPLAB X IDE installed on the host computer
- MPLAB XC32 Compiler installed on the host computer
Before you Begin
Before you begin configuring at91bootstrap, you will need some information from the production build of the MPLAB Harmony v3 application. In this example, we use harmony.bin as our application from the "SAMA5D29-Curiosity – Getting Started with MPLAB Harmony v3 Development: CSP Application: pio_led_on_off_interrupt" training.
- SQI Flash Memory offset value to read harmony.bin
- The harmony.bin image size
- The DDR2 SDRAM address to load harmony.bin
These values will be used to configure at91bootstrap in the following steps.
64 Mb Serial Quad I/O™ (SQI™) Flash Memory with EUI-48 and EUI-64
The SAMA5D29-Curiosity has a 64 Mb SQI Flash Memory with EUI-48 and EUI-64 memory (U9) (Microchip SST26VF064BEUI). It is connected to the Quad SPI Interface 1 (QSPI1) peripheral of the SAMA5D29.
Download at91bootstrap
Create a Project Directory.
For the purposes of this training topic, we’ll name our project directory at91bootstrap.
Download or clone at91bootstrap version 4.
Download or clone from the Linux4sam GitHub repository.
Open Project at91bootstrap
Click on the Open Project button.
The at91bootstrap project will be displayed in the Projects pane (upper left) and in the at91bootstrap – Dashboard pane (bottom left).
Configure at91bootstrap Project Properties
Open at91bootstrap Project Properties.
Open the at91bootstrap Project Properties using one of the following methods:
- In the Projects pane, highlight at91bootstrap and click on the wrench icon in the at91bootstrap - Dashboard.
- In the Projects pane, right-click on at91bootstrap and select Properties from the menu.
The Projects Properties – at91bootstrap dialog box opens.
Configure the MPLAB XC32 Compiler.
In the Categories pane, select Makefile.
Enter the following text in the Build command and Debug build command boxes:
make CROSS_COMPILE="C:/Program Files/Microchip/xc32/v4.35/bin/bin/pic32c-"
Enter the following text in the Clean command box:
make mplabclean CROSS_COMPILE="C:/Program Files/Microchip/xc32/v4.35/bin/bin/pic32c-"
Configure at91bootstrap to load harmony.bin from SQI Flash Memory.
Find the at91boostrap project directory and select configs directory and then select sama5d29_curiositydf_qspi_uboot_defconfig and click on the Open button.
Make the following changes:
In this step, you are taking an existing default configuration and altering it to load the MPLAB Harmony v3 Software Framework application (harmony.bin) from SQI Flash Memory. This makes configuration a little bit easier than starting from scratch.
Expand Next Software Type and select the Load 4 MB into start of SDRAM radio button.
Expand Demo Application Image Storage Setup.
Observe Flash Offset for Demo-App is set to 0x00040000.
This is the SQI Flash Memory offset value to the application binary (here called Demo-App). This value is planned by the developer as part of the memory map of the SQI Flash Memory.
Observe Demo-App Image Size is set to 0x00100000.
This is the image size of the application binary image (here called Demo-App) to be copied from SQI Flash Memory to SDRAM memory by at91bootstrap.
Enter the address to load the application 0x26F00000 to The External Ram Address to Load Demo-App Image.
Build at91bootstrap
Build at91bootstrap.
Build the at91bootstrap project using one of the following methods:
- In the Projects pane, right-click on at91bootstrap and select Build from the menu.
- Click on the Build icon (hammer) in the tool ribbon.
Observe the build is successful.
Note the location of boot.bin:
<project_directory>\at91bootstrap\build\binaries\boot.bin
The boot.bin file is the binary image of at91bootstrap. The boot.bin image can be written to SQI Flash Memory using the SAM-BA Host Applet qspiflash. See the "Learn More" section.
Summary
The at91bootstrap has been configured and built to load an MPLAB Harmony v3 Software Framework application from SQI Flash Memory on the SAMA5D29-Curiosity.