Skip to content

Burn without boot key*

The GX8008/8008C supports USB non-first-time flashing without the use of the boot key and reset key.

Note

If the device becomes bricked due to power failure or other abnormal operations during the flashing process, this method will not work. In such cases, manual flashing using the boot key and reset key will be required to reflash the firmware.

1. Code Repository Download*

git clone git@gitlab.com:nationalchip/vsp_sdk.git

The latest master branch on GitLab already supports this feature. If you want to implement this feature on your own branch, please refer to the following patch modification:

2. Compilation*

Compile the firmware with the Generic Volume Control + OTA feature. Enable the feature as follows:

Open the configuration menu with make menuconfig, go to VSP Workmode settings --->, then enter [*] Has UAC workmode --->. You will see the following interface. (Has PLC workmode also supports this feature with the same setup).

Has_UAC_workmode

  • UAC versions 1.0 and 2.0 are both supported.
  • The download tool now supports connecting two devices, so you can configure different device names as needed.
  • Vendor ID is the vendor's ID, default is 0x1d6b, please do not change it.
  • Product ID is the product's ID, you can choose either 0xa4a6 or 0xa4a7.
  • First check Enable Send Hid, then choose the HID protocol as Generic Volume Control + OTA, and tick HID Enable Downstream.
  • After configuration, you can exit the configuration menu and run make. For the first-time flashing, you can use the boot key and reset key method for flashing:
  • Connect the USB cable between the board and the computer, set the options as shown in the figure, click "Start". When the prompt "Please press BOOT button and power on or restart the board" appears, press the boot key and then click "Restart".

    按键烧录

  • When you see the message "Operation Successful," it means the flashing was successful.

  • If the flashing fails, you can visit: https://nationalchip.gitlab.io/ai_audio_docs/software/tools/NCDownloader/

3. Using NCDownloader Tool*

3.1 Flashing*

The tool interface screenshot is as follows:

整体界面

Using NCDownloader for non-first-time flashing does not require pressing the boot key and reset key for flashing.

NCDownloader

  • Chip Type: Select model 8008C, which is currently the only supported one.

  • Transfer Mode: Choose USB for flashing.

  • Command: Select download for flashing.

  • USB Dev: Select the device name for flashing, which is configured in the above configuration menu.

  • Start Addr: Set the starting address for flashing, usually 0.

  • Bin File: Select the firmware to be flashed.

  • When the message "Operation Successful" appears, it means the flashing was successful.

3.2 Command Other Functions*

Other functions in the command options are shown in the figure:

NCDownloader

  • download: Flashing command, Star Addr specifies the starting address.
  • dump: Export data from flash, Star Addr specifies the starting address.
  • flash rease: Erase data from flash, Star Addr specifies the starting address.
  • flash reaseall: Erase the entire flash.
  • reboot command: Can be used to restart the board. (Note: The Reboot option in the checked options means restarting after flashing is completed, it's a different function)

3.3 Using the Original Boot Key Method for Flashing*

As shown in the figure, you can see the new option "other" in USB Dev, selecting this option allows you to use the traditional flashing function (click "Start", when "Please press BOOT button and power on or restart the board" appears, press the boot key and then click "Restart" to start flashing).

other传统烧录

4. Tool Secondary Development*

If you need to do secondary development of this tool for USB-OTA, the source code for Linux and Windows platforms that supports entering the flashing mode of 8008/8008C through HID communication is provided below, as well as the corresponding bootx tool:

Linux: http://yun.nationalchip.com:10000/l/SFO2YD

Windows: http://yun.nationalchip.com:10000/l/tFgGpG

4.1 Command Usage for Secondary Development Tool*

4.1.1 Linux*

sudo ./hid_tool upgrade "NationalChip STR2"

hid_tool_l1

sudo ./bootx -m leo_mini -t u -c download 0 vsp.bin

hid_tool_l2

4.1.2 Windows*

Project1.exe "NationalChip STR2" upgrade

hid_tool_w1

bootx.exe -m leo_mini -t u -c download 0 vsp.bin

hid_tool_w2