SAM9X75 Curiosity – Configure and Build at91bootstrap for an MPLAB® Harmony v3 Project with MPLAB X IDE
Introduction
This training describes configuring and building at91bootstrap for loading and debugging an MPLAB® Harmony v3 project on the SAM9X75-Curiosity Development Board using MPLAB X Integrated Development Environment (IDE).
Background
The at91bootstrap is used by MPLAB X IDE to initialize Dynamic Random Access Memory (DRAM) so that it can continue loading the MPLAB Harmony v3 Software Framework project binary (harmony.bin). Once the project has been loaded onto the SAM9X75-Curiosity, MPLAB X IDE can be used to develop and debug the application.
Prerequisites
The following are prerequisites for this training:
Download at91bootstrap
Create a Project Directory.
For this training, we’ll name our project directory "at91bootstrap".
Download or clone at91bootstrap version 4.
Download or clone from the Linux4sam GitHub repository.
Open Project at91bootstrap
From MPLAB X IDE, select File > Open Project…
An Open Project dialog is displayed.
Find and select the at91bootstrap project directory.

Figure 1
Click on the Open Project button.
The at91bootstrap project will be displayed in the Projects pane (upper left) and 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.

Figure 3
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.45/bin/bin/pic32c-"
Enter the following text in the Clean command box:
make mplabclean CROSS_COMPILE="C:/Program Files/Microchip/xc32/v4.45/bin/bin/pic32c-"

Figure 4
Click on the Apply button.
Configure at91bootstrap.
In the Categories pane, select Kconfig and click on the Load button.
Find the at91boostrap project directory, select the configs directory and then select sam9x75_curiosity_bkptnone_defconfig.
Click on the Open button.

Figure 5
Observe the following settings:
Expand Primary Operation and observe the Configure and stop radio button.

Figure 6
Expand DRAM. Next, expand DRAM parts and select the DDR3L DDR_W632GU6NG (SAM9X75D2G SiP) radio button.

Figure 7
Scroll down and expand Board’s Workaround Options. Expand Workaround for Board Quirks and select the Quirks for SAM9X75-Curiosity board radio button.

Figure 8
Click on the Apply button and then the OK button.
The Project Properties dialog will close.
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 that the build is successful.

Figure 9
Note the location of at91bootstrap.elf:
<project_directory>\at91bootstrap\build\binaries\at91bootstrap.elf
Summary
The at91bootstrap has been configured and built to load and debug an MPLAB Harmony v3 Software Framework project using MPLAB X IDE for the SAM9X75-Curiosity Development Board.
What’s Next?
Once at91bootstrap has been configured and built, it can be used with an MPLAB Harmony v3 Software Framework project. The at91bootstrap.elf file is configured in the Project Properties as shown in Figure 10.
MPLAB X IDE uses at91bootstrap to initialize DRAM and continue loading the MPLAB Harmony v3 application binary image (harmony.bin) using a Debug Probe. Once the project has been loaded onto the SAM9X75-Curiosity, MPLAB X IDE can be used to develop and debug the application.

Figure 10