跳转至

免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也支持此功能,设置方式一致)

Has_UAC_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

3. NCDownloader工具使用*

3.1 烧录*

工具界面截图如下:

使用 NCDownloader 的非首次烧写不用按 boot 键和复位键进行烧录

NCDownloader

  • Chip Type: 选择型号8008C,现仅支持8008C。

  • Transfer Mode: 选择使用USB进行烧录。

  • command: 选择download进行烧录。

  • USB Dev: 选择烧录的设备名称,这里是在上面配置菜单中配置的名称。

  • Start Addr: 设置烧录起始地址,一般为0。

  • Bin File: 选择要烧录的固件。

  • 出现上面图片Operation Successful打印信息即代表成功。

3.2 Command 其它功能*

command选项其它功能,如图:

NCDownloader

    1. download: 烧录命令,Star Addr指定起始地址。
    1. dump:导出flash中数据,Star Addr指定起始地址。
    1. flash rease: 擦除 flash 中数据,Star Addr指定起始地址。
    1. flash reaseall:擦除整个 flash。
    1. 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工具;

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

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

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