提示:作为Espressif(乐鑫科技)大中华区合作伙伴及sigmastar(厦门星宸)VAD合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫及星宸科技的新产品、新方案的主要特点及应用!希望你能第一时间了解并快速用上好的方案和产品!
一、前言
SSD20X不支持空片升级,但是在Uboot阶段提供了USB/SD卡升级功能,升级可以制定需要升级的分区,只要准备好对应升级包按照以下文档执行即可。
二、SD卡升级
Uboot默认支持SD卡,只需要将对应制作的升级包(默认是:SigmastarUpgradeSD.bin)放到SD卡根目录,在uboot执行对应操作即可。
2.1. 构建SD卡升级包
在project下已经将image打包好之后,执行 ./make_sd_upgrade_sigmastar.sh 脚本按照提示选择需要升级的对应分区打包生成SD卡升级包。
打包完成后将在project/image/output/images目录下生成 SigmastarUpgradeSD.bin,如下图。将该文件拷贝到SD卡根目录即可。
2.2. SD卡升级操作
SSD20X不支持空片升级,只能开机按enter键进入uboot控制台,在控制台输入sdstar即进入升级,升级成功后会自动重启。
SigmaStar # sdstar
另,还可以通过设置以下env,达到开机自动检测升级的效果(即不需要手动敲sdstar)
setenv sdautoupgrade 1;saveenv;
- U盘升级
Uboot打开USB驱动支持,然后将对应制作的升级包(默认是:SigmastarUpgrade.bin)放到U盘根目录,在uboot执行对应操作即可。
3.1. 配置Uboot config
使用对应的defconfig配置完后(公版nand配置:make infinity2m_spinand_defconfig),通过make menuconfig开启如下配置。
Device Drivers下开启如下配置:
MStar drivers下开启如下配置:
3.2. 构建U盘升级包
在project下已经将image打包好之后,执行 ./make_usb_upgrade_sigmastar.sh 脚本按照提示选择需要升级的对应分区打包生成U盘升级包。
打包完成后将在project/image/output/images目录下生成 SigmastarUpgrade.bin,如下图。将该文件拷贝到U盘根目录即可。
3.3. U盘升级操作
SSD20X不支持U盘空片升级,开机后按enter键进入Uboot控制台。
设置usb升级port口:
如果不确定USB port口,也可以使用usb cmd去检测,如下图检测到storage设备即可:输入 usb start 0/½ 看哪个口可以识别到存储设备(一般0比较常见)
识别到之后设置对应的port口即可,如上截图setenv UpgradePort 1 ;saveenv ;然后usbstart即进入升级,升级成功后自动重启
另,还可以通过设置以下env,达到开机自动检测升级的效果(即不需要手动敲usbstar)
setenv usbautoupgrade 1;saveenv
四、升级包打开CRC校验
a. CRC校验针对的是每一个分区数据,升级过程中某个分区数据CRC校验失败,整个升级流程即会被打断
b. CRC校验需要打开以下config: CONFIG_UPGRADE_CRC_CHECK (默认关闭)
五、支持版本控制
目前version只是简单的将打包的时间记录:upgrade_bin_version=11261056
a. 升级的时候,会对比板子上env上upgrade_bin_version记录的version,只有当version不一样的时候才会升级(不比较大小,不一样就会升级)
b. 可以通过设置env: setenv enable_version_chk 1;saveenv;打开版本校验
- USB/SD卡升级支持UI进度条显示¶
需打开以下config:CONFIG_SSTAR_UPGRADE_UI (默认关闭)