SAM9X60 Curiosity Development Board - Booting Demo Linux® Image
Overview
This training lists step-by-step instructions for booting a demonstration Linux® image to the SAM9X60 Curiosity Development Board. There are two methods; the first is to boot from a microSD memory card and the second is from the onboard NAND Flash memory. There are several pre-compiled demonstration Linux images available from the Linux4sam website.
In summary, the steps are:
- Download a demonstration image,
- Load the image onto a microSD memory card or NAND Flash memory using utility programs,
- Power up the SAM9X60-Curiosity Demonstration Board,
- Connect a USB-to-Serial adapter to view the console, and
- Press the RESET button (SW1).
What You Will Need
- SAM9X60-Curiosity demonstration board
- Micro-B USB cable (included in the SAM9X60-Curiosity box)
- Personal computer (Windows®, macOS®, Linux) running a terminal emulation program
- USB-to-Serial 3.3 VDC TTL Level adapter with a 6-pin single-in-line 0.1” pitch connector
- microSD memory card (1 GB or larger)
Prerequisites
- Be familiar with the features of the SAM9X60-Curiosity demonstration board
- Knowledgeable of the SAM9X60 boot process
- If booting from onboard NAND Flash memory, knowledgeable of SAM-BA® In-System Programmer (ISP)
Download a Demonstration Image
The latest demonstration images for the SAM9X60-Curiosity are available on the Linux4sam website. There you will find two sets of images created from one of two build systems:
Note there are separate images for SD memory card and NAND Flash memory. In addition, there are images without a display (headless) and with the TM5000 WVGA Display.
Download the image for your choice of storage media (SD memory card or NAND Flash) and choice of headless or display.
Load the Image onto a microSD Memory Card
To boot Linux from a microSD memory card, perform the following steps. If you want to boot from the onboard NAND Flash memory, skip to the next section.
You will write the image to the SD memory card using the balenEtcher utility program. balenEtcher is a cross-platform utility program used for writing image files onto storage media.
Select Image
Locate the directory where the image is been stored. There is no need to un-compress the image file. The balenEtcher utility program can handle compressed image files.
Select Target
Select the microSD memory card.
Flash!
Finally, write the image to the microSD memory card. This will take some time. Be patient.
Insert the microSD Memory Card Into Slot (J3)
Skip to the "Terminal Emulation Program" section below.
Load image onto NAND Flash Memory
To boot Linux from the onboard NAND Flash memory (U3), perform the following steps.
You will write the image to the onboard NAND Flash memory using the SAM-BA In-System Programmer (ISP) utility.
Ensure there is no microSD memory card is inserted in slot (J3).
Connect a Micro-B USB cable from the host computer to USB-A port (J1).
This will power the SAM9X60 Curiosity and the USB Type-A port will enumerate on the host computer. For Windows, the port will be labeled as "AT91 USB to Serial Converter (COMx)" and for Linux as "/dev/ttyACMx."
Un-Compress the Image
Un-compress the NAND Flash image into a working directory.
From the Command Line
On the host computer, open a terminal to access the command line. Change the directory to the working directory of the un-compressed NAND Flash image.
Edit the QML script
Using a text editing program, edit the top three lines of the demo_linux_nandflash.qml script with the version of the SAM-BA host program installed on your host computer:
import SAMBA 3.x import SAMBA.Connection.Serial 3.x import SAMBA.Device.SAM9X60 3.x
Write Image to NAND Flash
Run the demo_linux_nandflash.bat (Windows) or demo_linux_nandflash.sh (Linux) file.
This will take a while. Be patient. When the write operation is complete you will see the following on the command line:
-I- === Done. ===
If you have a terminal emulation program running and connected to the console, you will see the following display:
Console
Terminal Emulation Program
Download, install, and configure a Terminal Emulation program onto your host computer. There are several choices for terminal programs for Windows, macOS, and Linux. Refer to "SAM9X60 Curiosity Development Board - Console Serial Communications" page for a list of popular programs.
Jumpers
- Ensure that the NAND BOOT jumper (J4) is closed (default).
- Ensure jumpers J14 and J15 are in the DBGU position.
Apply Power
Power up the development board by connecting a Micro-B USB cable to a USB Type-A port (J1) and your host computer.
Connect to UART Debug Port:
Connect the USB-to-Serial 3.3 VDC TTL level adapter to the host computer. Take care to align Pin 1 (GND) of the Curiosity board to the adapter Pin 1. (Look for an arrow on the connector and a black wire.)
Serial Communication Established
Once you connect the USB-to-Serial adapter to the host PC, locate the COM Port, open the terminal emulation program, and enter the settings:
- Com Port: as indicated
- Baud: 115200
- Data Bits: 8
- Parity: None
- Stop Bits: 1
Boot
Press the RESET Button (SW1). Observe the boot log scrolling on the console. At the end, the command line will prompt the user to log in. Log in as root. There is no password required.
Log in for Buildroot headless image:
Log in for NAND Flash image:
Observe the RGB LED Flashing blue (heartbeat).
Congratulations! Booting of the demo Linux image on the SAM9x60-Curiosity is complete.
Summary
In this training, you booted a demonstration Linux image to the SAM9X60 Curiosity Development Board using one of two methods, an SD memory card or onboard NAND Flash memory.
Learn More
- SAM9X60 Curiosity Development Board - Features
- SAM9X60 Curiosity Development Board - Console Serial Communications
- SAM9X60 Curiosity Development Board - Booting Demo Linux Image
- SAM9X60 Curiosity Development Board - Comparison
- Developing with Embedded Linux
- Developing Applications with MPLAB Harmony v3 Software Framework for MPUs