Skip to main content
By the end of this section, you will know how to write an image onto eMMC on the Gemstone development board.
The Gemstone operating system supports booting from eMMC in addition to an SD card. eMMC is a high-performance and reliable storage solution. Because it offers faster data access and a more robust physical structure compared to an SD card, it is preferred as the primary option in many applications.

1. Writing an Image to eMMC with USB DFU

USB DFU (Device Firmware Upgrade) is the standard that allows the T3 Gemstone O1 to be programmed directly over USB. An image can be written to eMMC without needing an SD card or a running system.
Official DFU documentation for the TI AM67A processor: USB Device Firmware Upgrade (DFU) — Processor SDK Linux for AM67A

1.1. Switching to USB DFU Mode

Fully power off the board before starting the process. Attempting to switch to DFU mode while the board is running may corrupt the eMMC.
1

Power off the board

If the operating system is running, shut it down properly, then disconnect the power from the T3 Gemstone O1.
2

Set the bootmode switch to the USB DFU position

Using the switch position shown in the diagram below as a reference, set the bootmode switch to the USB DFU position.
The image above is included to show the physical location of the bootmode switch on the board and is representative. For DFU mode, follow the switch position from the diagram below.
3

Connect the USB-C cable to supply power

Plug the USB-C cable into the board’s DFU port and into your computer, then power it on.

1.2. Loading the Image with GemImager

GemImager automatically manages the entire DFU writing process — the bootloader files are shipped together with the operating system image and are loaded in the correct order.
1

Open GemImager

Launch GemImager on your computer and select the board you want to use.
In order for GemImager to access USB devices, it must be run as administrator.
2

Select the operating system image

Click the Choose OS button and select the image you want to write.
3

Select the storage device

Click the Choose Target button and select the USB DFU option.
4

Write the image

Click the Next button to configure the OS customization options (see the Customization page), then press the Write button.
Do not unplug the USB cable or disconnect the power during the writing process.
5

Wait for completion

When the writing process is complete, Gem Imager displays a success message.
6

Power off the board and set the bootmode switch to the eMMC position

Fully power off the board, then set the bootmode switch to the eMMC position as shown in the image below.
You can monitor the boot process via a serial port connection over UART. Default baudrate: 115200
After applying power, the board will boot from the image on the eMMC.
For more information about the UART connection, see the Serial Port page.

2. Manual Image Loading with the SDK (dfu-util)

This method is for developers working with the SDK build system.
For more information about building an image from source, see the SDK documentation.
Put the board into DFU mode using the bootmode switch as described in 1.1. Switching to USB DFU Mode, then run the following commands in order. After a successful SDK build, the required files are located in two directories:
FileLocation
tiboot3.binbuild/t3-gem-o1/deploy-ti/images/t3-gem-o1/
tispl.binbuild/t3-gem-o1/deploy-ti/images/t3-gem-o1/
u-boot.imgbuild/t3-gem-o1/deploy-ti/images/t3-gem-o1/
gemstone-*.imgbuild/debos/
1

Load the first-stage bootloader (tiboot3.bin)

sudo dfu-util -d 0451:6165 -a bootloader -D tiboot3.bin -R
After this step, the board will reset and reconnect. Wait a few seconds and verify that the board is still visible with dfu-util -l.
2

Load the TI SPL (tispl.bin)

sudo dfu-util -d 0451:6165 -a tispl.bin -D tispl.bin -R
3

Load U-Boot (u-boot.img)

sudo dfu-util -d 0451:6165 -a u-boot.img -D u-boot.img -R
4

Transfer the OS image to eMMC

Replace <image-file-name> with the name of your own image file:
sudo dfu-util -d 0451:6165 -a rawemmc \
    -D <image-file-name>.img -R
This step transfers the entire OS image to the eMMC over USB. Do not interrupt the transfer. Depending on the image size and USB speed, this process may take several minutes.
5

Power off the board and set the bootmode switch to the eMMC position

When dfu-util reports success, fully power off the board, then set the bootmode switch to the eMMC position.
You can monitor the boot process via a serial port connection over UART. Default baudrate: 115200
After applying power, the board will boot from the image on the eMMC.

2.1. Verification Step

When writing with GemImager DFU, the following operations are performed in order:
  1. Downloads or reads the selected image
  2. Extracts the bootloader files (tiboot3.bin, tispl.bin, u-boot.img)
  3. Writes each bootloader stage over DFU
  4. Transfers the full OS image to the eMMC (rawemmc alt setting)
1

Verify the DFU device

Verify that the board appears as a DFU device.
If the application named dfu-util is not installed, install it on your Ubuntu computer with the sudo apt install dfu-util command.
sudo dfu-util -l
You should see an entry with VID:PID 0451:6165 containing the bootloader and SocId alt settings.
Found DFU: [0451:6165] ver=0200, devnum=9, cfg=1, intf=0, path="1-2.2", alt=1, name="SocId", serial="01.00.00.00"
Found DFU: [0451:6165] ver=0200, devnum=9, cfg=1, intf=0, path="1-2.2", alt=0, name="bootloader", serial="01.00.00.00"
If the device does not appear in the list, try again starting from step 1.