SAM9X60 Curiosity Development Board - Booting Demo Linux® Image

Last modified by Microchip on 2023/11/14 15:18

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

Back to top

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)

Back to top

Prerequisites

Back to top

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.

Table showing media types and associated boards

Back to top

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. 

balenEtcher Screen Shot:  Flash from File


Select Target

Select the microSD memory card.

balenEtcher Screenshot:  Select Target


Flash!

Finally, write the image to the microSD memory card. This will take some time. Be patient.

balenEtcher Screenshot:  Flash


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. 

Note: Ensure that you have the SAM-BA ISP installed on your host computer and the SAM-BA directory path added to the environment variables.

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

Device Manager window


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:

Tera Term Screenshot

Back to top

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.

Back to top

Jumpers

  • Ensure that the NAND BOOT jumper (J4) is closed (default).
  • Ensure jumpers J14 and J15 are in the DBGU position.

Back to top

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.

Back to top

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

Back to top

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

Back to top

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:

Tera Term Screenshot

Log in for NAND Flash image:

Tera Term Screenshot

Observe the RGB LED Flashing blue (heartbeat).

Congratulations! Booting of the demo Linux image on the SAM9x60-Curiosity is complete.

Back to top

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.

Back to top

Learn More

Back to top