TQMa62xx - YOCTO Linux BSP documentation

Create SD Card with BSP Image

The Image can be simply written to the SD Card by using the dd shell command in Linux:

$ cd <path to your image>
$ sudo dd if=tq-image-weston-debug-tqma62xx-mba62xx.rootfs.wic of=/dev/sdc bs=1M conv=fsync #Assuming the SD card is assigned to /dev/sdc

To identify the SD card in Linux the shell command dmesg can be used:

  1. Open a new terminal
  2. Execute the following command without plugged SD Card
     $ dmesg | tail -n 15
  3. Insert SD Card and wait a few seconds
  4. Run the command from step two again
$ dmesg | tail -n 15 
 #plug in SD Card into the reader
$ dmesg | tail -n 15 

USB Boot

The TI Sitara AM62x CPU provides the option to boot from USB (host and device).

Prerequisites

Boot from USB host (mass storage)

1. Format a USB flash drive with FAT32 filesystem.
2. Copy the files listed below from the Yocto buildspace deploy directory to the USB flash drive prepared with FAT32:

  • u-boot.img
  • tispl.bin
  • tiboot3.bin
The USB flash drive partition must be set as active!

3. Connect the USB flash drive with the USB 3.0 the USB-OTG interface.
4. Set the STKa62xx DIP switches to boot from USB host (mass storage).

S4

S5

S6

S7

5. Connect host PC with STKa62xx connector X10 and setup the terminal program.
Please see the terminal_emulator section how to setup a serial debug connection.
6. Power on the STKa62xx to boot from USB.

Boot from USB device (dfu-util)

Please check that dfu-util is installed the Linux host.

1. Copy the files below from the Yocto buildspace deploy directory deploy e.g. the home folder:

  • u-boot.img
  • tispl.bin
  • tiboot3.bin

2. Connect STKa62xx X7 and X10 with a mirco USB cable to the Host PC.

  • X10 is used to connect the STKa62xx as USB device
  • X7 is used as serial debug connection

3. Set the STKa62xx DIP switches to boot from USB device (dfu-util).

S4

S5

S6

S7

4. Power up the STKa62xx.
5. Open a second terminal for the serial debug connection with e.g. Minicom
Please see the terminal_emulator section how to setup a serial debug connection.
6. Open terminal (shell) on Linux host and execute the commands below to boot the STKa62xx via USB device.

After initial power-on, U-Boot will reset the CPU as a part of an TI Errata workaround, so tiboot3.bin needs to be loaded twice.
After a warm boot (reset from U-Boot or reboot from Linux), the initial load of tiboot3.bin must be skipped.
sudo dfu-util -a bootloader -D tiboot3.bin
STKa62xx issues a reset after loading the tiboot3.bin via dfu-util. when it has been initially powered on.
If the STKa62xx has been reset from U-Boot or Linux it is not required to load tiboot.bin3 twice, so only the three commands below have to be executed.
sudo dfu-util -R -a bootloader -D tiboot3.bin
sudo dfu-util -R -a tispl.bin -D tispl.bin
sudo dfu-util -R -a u-boot.img -D u-boot.img

Write Bootloader to SPI-NOR Flash via Network

The onboard SPI-NOR flash can be easily updated directly from the U-Boot command line using the built-in TQ update macros. This process downloads the required images from a TFTP server and flashes them automatically to the correct partitions.

Prerequisites

  • A TFTP server running on your host PC containing the bootloader files.
  • An active Ethernet connection between the STKa62xx and your host PC.
  • The required bootloader files compiled for the correct SoC variant (tiboot3.bin, u-boot.img, boot.scr).

Update via U-Boot (TFTP)

1. Copy the bootloader files from the Yocto deploy directory into the root directory of the TFTP server.

2. Power on the STKa62xx and stop the autoboot process by pressing any key when prompted to enter the U-Boot shell ().
3. Configure network settings in U-Boot (adjust the IP addresses to match your network):

=> setenv ipaddr <Board-IP>
=> setenv serverip <Host-PC-IP>

4. Execute the pre-configured TQ update macros to automatically download and flash the bootloader and boot script:

# 1. Update tiboot3.bin and u-boot.img
=> run update_uboot_spi_flash0
 
# 2. Update the boot script (boot.scr)
=> run update_bootscript_spi_flash0
These commands will automatically probe the SPI flash, fetch the files via TFTP, check the file sizes, and safely update only the specific partitions defined for this board.

5. Power off the STKa62xx.
6. Set the STKa62xx DIP switches to boot from SPI (See DIP Switches)
7. Power on the STKa62xx. The board should now boot directly from the SPI-NOR flash.

Write Bootloader to eMMC via Network

The onboard eMMC can be updated directly from the U-Boot command line using the built-in TQ update macros. This process downloads the required images from a TFTP server and writes them to the boot partition of the eMMC.

Prerequisites

  • A TFTP server running on the host PC containing the bootloader files.
  • An active Ethernet connection between the STKa62xx and the host PC.
  • The required bootloader files compiled for the correct SoC variant (tiboot3.bin, u-boot.img, boot.scr).

Update via U-Boot (TFTP)

1. Copy the bootloader files from the Yocto deploy directory into the root directory of the TFTP server.

2. Power on the STKa62xx and stop the autoboot process by pressing any key when prompted to enter the U-Boot shell ().
3. Configure the network settings in U-Boot (adjust the IP addresses to match the local network):

=> setenv ipaddr <Board-IP>
=> setenv serverip <Host-PC-IP>

4. Execute the pre-configured TQ update macros to automatically download and write the bootloader and boot script to the eMMC (mmc0):

# 1. Update tiboot3.bin and u-boot.img
=> run update_uboot_mmc0
 
# 2. Update the boot script (boot.scr)
=> run update_bootscript_mmc0
These commands will automatically probe the eMMC, fetch the files via TFTP, and safely write them to the correct FAT boot partition of the eMMC as defined in the environment variables.

5. Power off the STKa62xx.
6. Set the STKa62xx DIP switches to boot from eMMC (See DIP Switches).
7. Power on the STKa62xx. The board should now boot directly from the eMMC.

The information provided on this wiki page is subject to change due to circumstances beyond our control. While we strive to keep all details as accurate and up-to-date as possible, it is possible that certain updates or changes may go unnoticed for some time. As a result, some sections of this page may contain outdated information. If you notice any mistakes in the documentation, we kindly ask you to inform the TQ Support through our ticket system.