Recovery Boot 基础示例
源码位置: samples/subsys/uboot/recovery_basic 查看源码
这是一个 standalone boot sample(独立 boot 样例):
只构建 boot
不包含 app
不执行 boot/app merge
最终产物仍为
build/boot.bin
boot 侧能力:
recovery second stage
ADB device
ADB shell
ADB push / pull / sync
/SD:/adb/默认文件根/RAW/FLASH/...、/RAW/NAND/...、/RAW/SDRAW/...RAW 访问支持 Flash OTA request execution(boot 侧执行 Flash OTA 请求)
支持 TF OTA request execution(boot 侧执行 TF OTA 请求)
OTA 执行职责
recovery_basic 作为 recovery boot 负责读取 Flash/TF 上的 ota.txz、解析镜像与实际执行升级,
应用端(如 samples/subsys/uboot/app_only_trigger)只需写入 request 并重启。
本说明聚焦 boot 侧的介质准备与升级行为。
构建
./build.sh -C -S samples/subsys/uboot/recovery_basic -DBOARD=arcs_evb
烧录
烧
samples/subsys/uboot/recovery_basic/build/boot.bin到0x0,boot image 本身掌控恢复 OTA 的执行逻辑。烧
samples/subsys/uboot/app_only_trigger/build/uboot_ota_app_only_trigger.bin到0x40000,APP-only 触发样例用于写入 OTA request。Flash 模式下再将
samples/subsys/uboot/app_only_trigger/build/ota.txz烧到0x600000,recovery boot 会从此地址拉取并执行升级。TF 模式下把同一个
build/ota.txz放到 TF 卡默认路径download/update.txz(boot 会从 TF 上读取),记得插入 TF 卡后再 reboot。
烧录后如果默认 application 地址没有有效固件,设备会停留在 recovery second stage,等待 OTA 请求被触发。