免boot键烧录*
8008/8008C 支持 USB 非首次烧写免boot键和复位键烧录
注意 格式:
注意
如果在烧写过程断电等异常操作,使设备变砖,那么该方法将失效。只能使用人工操作boot和复位的方式,重新烧录固件。
1. 代码仓库下载*
$ git clone git@gitlab.com:nationalchip/vsp_sdk.git
gitlab上最新的master分支已经兼容了该功能,若想在自己的分支上实现该功能,请参照如下的patch修改
http://yun.nationalchip.com:10000/l/2Fj483
2. 编译*
编译出带 Generic Volume Control + OTA 功能的固件。开启方法如下:
打开配置菜单 make menuconfig,进入VSP Workmode settings --->,再进入[*] Has UAC workmode --->可以看到如下图界面。(Has PLC workmode也支持此功能,设置方式一致)
- UAC版本1.0, 2.0均支持。
- 下载工具现可以支持连接两个设备,可以根据需求注意配置不同的设备名称。
- Vendor id 为供应商ID,默认0x1d6b,请不要更改。
- Product id 为产品ID,可以选择0xa4a6,0xa4a7中的一个。
- 先勾选上Enable Send Hid,之后选择HID协议为Generic Volume Control + OTA,再将HID Enable Downstream勾选。
- 配置之后就可以退出配置菜单进行make,首次烧写可以先使用按 boot 键和复位键的方法进行烧录。
- USB连接好板子和电脑,按如图设置,点击start,出现
Please press BOOT button and power on or restart the board
后,按下boot键后点击restart
- 最后打印出
Operation Successful
信息即代表成功。 - 失败可访问:https://nationalchip.gitlab.io/ai_audio_docs/software/tools/NCDownloader/
3. NCDownloader工具使用*
3.1 烧录*
工具界面截图如下:
使用 NCDownloader 的非首次烧写不用按 boot 键和复位键进行烧录
-
Chip Type: 选择型号8008C,现仅支持8008C。
-
Transfer Mode: 选择使用USB进行烧录。
-
command: 选择download进行烧录。
-
USB Dev: 选择烧录的设备名称,这里是在上面配置菜单中配置的名称。
-
Start Addr: 设置烧录起始地址,一般为0。
-
Bin File: 选择要烧录的固件。
-
出现上面图片
Operation Successful
打印信息即代表成功。
3.2 Command 其它功能*
command选项其它功能,如图:
-
- download: 烧录命令,Star Addr指定起始地址。
-
- dump:导出flash中数据,Star Addr指定起始地址。
-
- flash rease: 擦除 flash 中数据,Star Addr指定起始地址。
-
- flash reaseall:擦除整个 flash。
-
- reboot命令: 可以控制板子进行重新启动。(注: Completed 后面的勾中选项中的Rebot意思是在烧录完成后进行重新启动,功能并不一样)
3.3 使用原先按键进行烧录的方式*
如下图,可以看到USB Dev中新增other选项,选择此选项就可以使用普通烧录功能(点击start,在出现Please press BOOT button and power on or restart the board
后,按下boot键后点击restart,才可以进行烧录)。
4. 工具二次开发*
若需要该工具在USB-OTA中做二次开发,下面提供了linux平台与windows平台的支持通过HID通信使8008/8008C进入烧录模式的源代码以及对应的bootx工具;
4.1 二次开发工具使用命令说明*
linux*
sudo ./hid_tool upgrade "NationalChip STR2"
sudo ./bootx -m leo_mini -t u -c download 0 vsp.bin
windows*
Project1.exe "NationalChip STR2" upgrade
bootx.exe -m leo_mini -t u -c download 0 vsp.bin