Flashing SPI Boot Firmware
The Radxa Dragon Q6A comes with SPI boot firmware pre-installed by default. Under normal circumstances, there is no need to flash the boot firmware. However, if the system fails to boot properly, you may try re-flashing the SPI boot firmware.
The core function of the SPI boot firmware (BootROM + Bootloader) is to initialize hardware in stages (CPU → Memory → Storage) and ultimately load the operating system kernel from the storage device.
When the device cannot boot normally, you can put the device into EDL Mode and then use the EDL tool to flash the SPI boot firmware.
Go to the Resource Download page, download the edl-ng package and extract it. Then select the appropriate version for your system platform to download the SPI firmware.
Flashing SPI Boot Firmware
- Windows
- Linux
-
Enter the following command to flash the SPI boot firmware
.\edl-ng.exe --memory=spinor --loader C:\path\to\prog_firehose_ddr.elf rawprogram C:\path\to\rawprogram0.xml C:\path\to\patch0.xml
Add the Linux version of the edl-ng tool to your system's environment variables so you can use the edl-ng command from any terminal location.
- Check the path
You can open a terminal in the folder where the edl-ng tool is located, use the realpath command to view the full path of edl-ng in the current folder, and then create a symbolic link for edl-ng.
realpath edl-ng
Terminal output example:
/home/user/edl-ng-dist/linux-x64/edl-ng
- Create a symbolic link
sudo ln -s [edl-ng path] /usr/local/bin/edl-ng
# Example
sudo ln -s /home/user/edl-ng-dist/linux-x64/edl-ng /usr/local/bin/edl-ng
Parameter description:
-
[edl-ng path]: Replace with your own full path to theedl-ngtool -
Verification
You can open a terminal from any location and use the edl-ng --version command to check the version information.
edl-ng --version
If the terminal prints the version information, the edl-ng tool symbolic link has been set up successfully.
-
Flash SPI Boot Firmware
Go to the Resource Download page, download the spi firmware file, then extract it and navigate to the directory containing the prog_firehose_ddr.elf file. Open a terminal in this directory and use the edl-ng command to flash the SPI boot firmware.
sudo edl-ng --memory=spinor rawprogram rawprogram0.xml patch0.xml --loader=prog_firehose_ddr.elf
Erase SPI Boot Firmware
Erasing the SPI boot firmware will prevent the device from booting. You will need to re-flash the SPI boot firmware to restore normal operation. Do not erase the SPI boot firmware unless absolutely necessary.
- Windows
- Linux
-
Erase SPI Boot Firmware
Open a terminal and enter the following commands to erase:
.\edl-ng.exe --memory spinor erase-part ddr -l C:\path\to\prog_firehose_ddr.elf
.\edl-ng.exe --memory spinor erase-part uefi -l C:\path\to\prog_firehose_ddr.elf
.\edl-ng.exe --memory spinor erase-part devcfg -l C:\path\to\prog_firehose_ddr.elf
.\edl-ng.exe --memory spinor erase-part xbl -l C:\path\to\prog_firehose_ddr.elf
Add the Linux version of the edl-ng tool to your system's environment variables so you can use the edl-ng command from any terminal location.
- Check the path
You can open a terminal in the folder where the edl-ng tool is located, use the realpath command to view the full path of edl-ng in the current folder, and then create a symbolic link for edl-ng.
realpath edl-ng
Terminal output example:
/home/user/edl-ng-dist/linux-x64/edl-ng
- Create a symbolic link
sudo ln -s [edl-ng path] /usr/local/bin/edl-ng
# Example
sudo ln -s /home/user/edl-ng-dist/linux-x64/edl-ng /usr/local/bin/edl-ng
Parameter description:
-
[edl-ng path]: Replace with your own full path to theedl-ngtool -
Verification
You can open a terminal from any location and use the edl-ng --version command to check the version information.
edl-ng --version
If the terminal prints the version information, the edl-ng tool symbolic link has been set up successfully.
- Erase SPI Boot Firmware
Enter the prog_firehose_ddr.elf file directory and open a terminal, input the following command to erase
sudo edl-ng --memory spinor erase-part ddr -l prog_firehose_ddr.elf
sudo edl-ng --memory spinor erase-part uefi -l prog_firehose_ddr.elf
sudo edl-ng --memory spinor erase-part devcfg -l prog_firehose_ddr.elf
sudo edl-ng --memory spinor erase-part xbl -l prog_firehose_ddr.elf
FAQ
- If it prompts "Unable to load DLL 'libusb-1.0'"
Install vc_redist