SAMA7G54-EK – Configure and Build at91bootstrap for a MPLAB® Harmony v3 Project with MPLAB X IDE

Last modified by Microchip on 2024/01/03 18:46

Introduction

This training describes how to configure and build at91bootstrap for loading and debugging an MPLAB® Harmony v3 project on the SAMA7G54-EK Evaluation Kit using MPLAB® X Integrated Development Environment (IDE). 

at91bootstrap is a second-stage bootloader for Microchip Technology Arm®-based MPU (Microprocessor Unit). For more information see the “at91bootstrap: A Second Stage Bootloader for Microchip MPUs” page. 

Background

The at91bootstrap is used by MPLAB X IDE to initialize DRAM (Dynamic RAM) so that it can continue loading the MPLAB Harmony v3 Software Framework project binary (harmony.bin). Once the project has been loaded onto the SAMA7G54-EK, MPLAB X IDE can be used to develop and debug the application. 

Prerequisites

This training was developed with MPLAB X IDE v6.15 and XC32 v4.30.

Download at91bootstrap

Create a Project Directory.

For the purposes of this training, we will name our project directory “at91bootstrap”. 


Download or clone at91bootstrap version 4.

Download or clone from the Linux4sam GitHub repository

This training was developed with at91bootstrap version 4.0.6.

Back to Top

Open Project at91bootstrap

From MPLAB X IDE, select File > Open Project… An Open Project dialog is displayed.

Find and select the at91bootstrap project directory.

MPLAB X IDE - Open Project


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). 

You may receive a Configuration Loading Error. This is due to an older version of the Device Family Pack (DFP) at the time of creating the at91bootstrap project. You will update the DFP to the latest version in the next steps. 

Back to Top

Configure at91bootstrap Project Properties

Open the at91bootstrap Project Properties.

Open the at91bootstrap Project Properties using one of the following methods: 

  1. In the Projects pane, highlight at91bootstrap and click on the wrench icon in the at91bootstrap - Dashboard. 
  2. In the Projects pane, right-click on at91bootstrap and select Properties from the menu. 

The Projects Properties – at91bootstrap dialog box opens. 


In the device dropdown box, select SAMA7G54.

Project Properties


Highlight the latest DFP and click on the Apply button.  

This will update the configuration to the latest DFP. 

If you received a Configuration Loading Error in the previous step, you may see a [Resolve] link next to the version of the Device Family Pack (DFP) that was used to create the example application.  


Configure the 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.30/bin/bin/pic32c-" 

Enter the following text in the Clean command box: 

make mplabclean CROSS_COMPILE="C:/Program Files/Microchip/xc32/v4.30/bin/bin/pic32c-" 

Project Properties: makefile

Click on the Apply button.

Type the version number of the XC32 compiler on your host computer. In this step, we are using version 4.30. 

The installation location of the XC compiler versions can be found by selecting from the MPLAB X IDE tool bar, Tools > Options. An Options dialog box will open. Select Embedded from the toolbar and select the Build Tools tab. 

When cutting and pasting, beware of hidden formatting characters. 


Configure at91bootstrap. 

In the Categories pane, select Kconfig and click on the Load button.
Find the at91boostrap project directory and select configs directory and then select sama7g5ek_bkptnone_defconfig and click on the Open button.

Observe the following settings.

Expand Primary Operation and verify that the Configure and stop radio button is selected.

Project Properties: kconfig primary operation

Expand DRAM. Next, expand DRAM parts and verify that the DDR3L AS4C256M16D3LC_12BCNTR(SAMA7G5-EK) radio button is selected. 

Project Properties: kconfig dram

Scroll down and expand Board’s Workaround Options. Expand Workaround for Board Quirks and verify that the Quirks for SAMA7G5-EK board radio button is selected.

Project Properties: kconfig quirks

Click on the Apply and then the OK button. The Project Properties dialog will close.

This concludes the configuration of the at91bootstrap Project Properties. 

Back to Top

Build at91bootstrap

Build at91bootstrap. 

Build the at91bootstrap project using one of the following methods: 

  1. In the Projects pane, right-click on at91bootstrap and select Build from the menu 
  2. Click on the Build icon (hammer) in the tool ribbon. 

Observe the build is successful.

MPLAB X IDE - build successful


Note the location of at91bootstrap.elf: 

<project_directory>/at91bootstrap/build/binaries/at91bootstrap.elf 

The at91bootstrap has been customized and compiled for debugging using the MPLAB X IDE for the SAMA7G54-EK Evaluation Kit.

Back to Top

Summary

The at91bootstrap has been configured and built to load and debug an MPLAB Harmony v3 Software Framework project using the MPLAB X IDE for the SAMA7G54-EK Evaluation Kit. 

Back to Top

Learn More

Once the at91bootstrap has been configured and built, it can be used with an MPLAB Harmony v3 Software Framework project. When configuring an MPLAB Harmony v3 Software Framework project, at91bootstrap.elf file is configured in the Project Properties as shown in the following figure. 

Project Properties: bootstrap

MPLAB X IDE uses at91bootstrap to initialize DRAM and continue loading the MPLAB Harmony v3 Software Framework project binary (harmony.bin) using a Debug Probe. Once the project has been loaded onto the SAMA7G54-EK, MPLAB X IDE can be used to develop and debug the application. 

For training on configuring and building at91bootstrap to load from Non-Volatile Memories (NVM), see: 

Second-Stage Bootloader at91bootstrap

Non-Volatile Memory (NVM)

Back to Top