rockchip --- 更新固件
参考资料
Rockchip_Developer_Guide_Linux_Recovery_CN.pdf
使用电脑上位机更新固件
uboot 运行过程,会判断 boot mode 是 normal 还是 loader,如果是 normal 则正常加载 kernel 运行,如果是 loader,则等待从 usb 获取固件
上位机点击切换到 loader,会发送指令给设备,让设备改写 boot mode 标志,关机再重启,进入 uboot,读取 boot mode 标志
OTA 更新固件
收到固件后,需要执行 update 指令触发更新固件,所以 buildroot package 需要选中 rktoolkit,生成 update 可执行程序
device/rockchip/.chips/rk3308/package-file 指定哪些分区文件整合到 update.img,如果此文件不存在,可以 make edit-package-file 生成,不生成直接 make 或 make updateimg,也会生成 package-file,但不会放在这个路径下
执行完 update ota /userdata/update.img 指令,会先更新 recovery 分区,并修改 misc 分区,然后重启,uboot 判断 boot mode 是 recovery (misc),执行 recovery 的 kernel,更新 flash 后重启,进入 uboot 判断 boot mode 是 normal,运行 normal 的kernel,OTA 完成