This is a flash-writer application which works in conjunction with the usb_dfu_uniflash.py python script mentioned in Flashing Tools. Although it is not strictly not a bootloader, it uses bootloader APIs to do basic SOC initialization required to be able to flash binaries to the OSPI flash. Like other SBLs, this is also booted by the ROM bootloader. It is analogous to SBL UART Flash Writer
Once the example starts running it attempts to receive files via USB DFU and process them in a loop. Once it receives a file (this is sent by the usb_dfu_uniflash.py script), it finds out what to do with the received file from the file header. It can be three things:
The meta-data required for doing these operations (offset, file size, erase size etc.) will be extracted from the same header.
This example is more or less like a flashing server, and will never terminate until EVM is powered down or the core is reset.
Parameter | Value |
---|---|
CPU + OS | r5fss0-0 nortos |
Toolchain | ti-arm-clang |
Board | am64x-evm, am64x-sk |
Example folder | examples/drivers/boot/sbl_dfu_uniflash |
Since this is mainly a flash-writer application, this is sent via the USB DFU unlike other examples which are usually loaded with CCS. Nevertheless, you can build this example like you do for the others using makefile or build it via CCS by importing as a project.
Flash a Hello World example using DFU
Since this SBL receives the appimage and other files over USB protocol, it doesn't print anything to the console.