流程
刷机流程
- 系统上电后首先启动 BROM (SoC 内部)
- BROM 检查存储介质中是否有系统数据,检查顺序为
- SDMC1 (SD卡)
- SPI NAND
- SPI NOR
- SDMC0(eMMC)
- 如果 SD 卡是启动盘,则进行卡启动
- 如果SD卡中是FAT32文件系统,并且有刷机的两个文件,则进行SD卡刷机
- 如果存储介质:SPI NAND,SPI NOR,eMMC中有数据,则启动系统
- 在U-Boot中会检查刷机键(PA0)是否被拉低,拉低则进入刷机模式,否则启动kernel
- 在U-Boot中会检查U盘(USB0)中是否是FAT32文件系统,并且是否有刷机的两个文件,两个条件均满足则进行U盘刷机,否则启动kernel
- kernel启动成功后会挂载 rootfs,则系统正常启动
刷机模式
开发板只有进入到刷机模式才能进行刷机操作,进入的方法有:
- 开发板上存储介质为空片,则上电直接进入刷机模式
- 短路烧录引脚(PA0)到地,则上电直接进入刷机模式
- 开发板如果有刷机按键的,则按住刷机键上电或者 reset,则进入刷机模式,开发板上标注为 uboot 按键
- 短路存储介质的 command、clk等引脚到地,造成读数据失败,则上电直接进入刷机模式,如短路 SPINAND 的 4、5 脚
- 如果开发板能进入 U-Boot ,在开机的过程中按住 Ctrl + c, 则系统会进入 U-Boot 控制台,输入 aicupg usb 0 命令可以进入烧写模式
- 如果开发板能能进入 Linux 控制台,输入 aicupg 命令,系统可以重启后进入烧写模式
- 如果开发板能能进入 Linux 系统,并且 ADB 服务开启,刷机工具会检查到设备并使能 “开始” 按钮,可以直接点击 “开始” 刷机
OTA流程
系统启动到正常状态,准备升级需要的固件
可以通过 OTA 的方式下载到本地
也可以通过外部存储器:SD卡,U盘,USB线复制到本地
设置升级标记,重启系统
系统重新启动后会进入升级系统,升级开发板到新的固件
升级过程中如果遇到断电等原因导致升级失败的,再次重启后依然会启动升级系统重新升级
升级完成后重新启动系统即可进入新系统