Hailo-15 SPI Programming






⚠ WARNING ⚠

Follow the steps detailed in this guide exactly as they are described and in the correct order. Failure to do so may cause damage to your hardware.

Step 1: Downloading the Vision Processor Software Package

To download the "Vision Processor Software Package," please visit the following link: Hailo Software Downloads Note that you will need to create an account to proceed with the download. Once you have access, follow the guide presented in the image below to complete the download process:

 
How to download the Hailo Vision Processor Software Package

Step 2: Extract the Downloaded File

1. Move the .tar.gz File

Make sure the downloaded .tar.gz file is moved to the directory where you want to extract its contents.

2. Extract the .tar.gz File

  1. Open a terminal window.
  2. Navigate to the directory where the .tar.gz file is located using the cd command.
  3. Use the following command to extract the file:
tar -xzvf filename.tar.gz
Note: Replace filename.tar.gz with the actual name of the downloaded file.

Step 3: Installing Required Tools

1. Install the Hailo Board Tools

Navigate to the directory where the .whl file is located. This file is part of the Hailo Vision Processor Software Package under the tools folder. Use the following command to install the .whl file:

python3 -m pip install hailo15_board_tools-<VERSION>.whl

Note: Replace <VERSION> with the specific version of the .whl file that was downloaded.

2. Install U-Boot Tools

Run the following command to install U-Boot tools:

sudo apt-get install u-boot-tools

Step 3: Set Up the Hailo with the UART-USB Bridge

1. Connect the UART-USB Bridge

Follow the instructions provided in the UART Connection Setup for Hailo-15 guide to properly connect the UART-USB bridge to the Hailo device. This tutorial will walk you through the physical connection steps and any necessary configuration to ensure successful communication between the devices.

2. Configure the DIP Switches

Refer to the image below for the correct DIP switch settings:

  1. Set DIP switch 1 to the ON position.
  2. Set DIP switch 2 to the OFF position.
 
Recovery via UART DIP switch configuration. Source: Hailo-15™ SBC (Single-Board-Computer) Quick Start Guide

Step 4: Load the Recovery Firmware to the SCU

1. Load the Firmware Using UART

  • Open a terminal window.
  • Use the following command to load the recovery firmware to the SCU via UART:
uart_boot_fw_loader \
 --serial-device-name /dev/ttyUSB0 \
 --firmware ./prebuilt/sbc/hailo15_uart_recovery_fw.bin

Note: The .bin file required for this step is part of the Hailo Vision Processor Software Package and can be found under the prebuilt/sbc folder.

Step 5: Load the SPI Flash Images

  1. Open a terminal window.
  2. Use the following command to load the SPI flash images via UART:
hailo15_spi_flash_program \
 --scu-bootloader ./prebuilt/sbc/hailo15_scu_bl.bin \
 --scu-bootloader-config ./prebuilt/sbc/scu_bl_cfg_a.bin \
 --scu-firmware ./prebuilt/sbc/hailo15_scu_fw.bin \
 --uboot-device-tree ./prebuilt/sbc/u-boot.dtb.signed \
 --bootloader ./prebuilt/sbc/u-boot-spl.bin \
 --bootloader-env ./prebuilt/sbc/u-boot-initial-env \
 --customer-certificate ./prebuilt/sbc/customer_certificate.bin \
 --uart-load --serial-device-name /dev/ttyUSB0

Step 6: Power Down and Reconfigure the Hailo-15

1. Turn Off the Hailo 15

Power down the Hailo 15 device.

2. Reconfigure the DIP Switches

  • Set DIP switch 1 to the OFF position.
  • Set DIP switch 2 to the OFF position.
You can see the image present in the step 3 of Booting a Yocto Image on the Hailo-15 from an SD Card

Step 7: Insert the SD Card

1. Prepare the SD Card

Ensure that the SD card contains the image you want to use.

2. Insert the SD Card

Insert the SD card into the SD card slot of the Hailo 15 device.

3. Turn ON the Hailo-15

Follow the steps in present in "Running an Image onto the Hailo 15 using an SD Card" in order to run your image.

Note: If you want to use the serial monitoring you must follow the Serial Monitoring of the Hailo-15 Using a UART-USB Bridge and Picocom wiki.

Note: Fixing Permission Issues

If you encounter an error such as Permission denied: '/dev/ttyUSB0', you can resolve it by adjusting the permissions with the following command:

sudo chmod 666 /dev/ttyUSB0

This command changes the permissions of the /dev/ttyUSB0 device file, allowing read and write access to all users.