AC792N 预留区资源OTA升级问题说明文档
AC792N 预留区资源OTA升级问题说明文档
目录TOC \o "1-3" \h \u
HYPERLINK \l _Toc5323 一、问题描述 PAGEREF _Toc5323 \h 2
HYPERLINK \l _Toc27464 二、复现步骤 PAGEREF _Toc27464 \h 2
HYPERLINK \l _Toc16719 三、原因分析 PAGEREF _Toc16719 \h 4
HYPERLINK \l _Toc6258 四、解决办法 PAGEREF _Toc6258 \h 4
单击此处直接编辑。
一、概述
本文档以AC792N_WIFI_CAMERA工程为例子,新建一个TEST区域的预留区,通过SD卡升级功能,对设备进行升级。当代码(APP CODE区)和TEST区域资源(预留区)同时更新时候,双备份SD升级完成后,对预留区更新的资源进行读取,验证预留区资源升级功能。
二、复现步骤
以下是详细的复现步骤,以下复现的步骤配置以AC791N_WIFI_CAMERA工程为例子,其它工程的配置也类似参考。
步骤1:在app_config.h里面打开双备份的宏定义,如下图2-1所示:
图2-1 双备份宏定义
步骤2:在预留区[RESERVED_CONFIG]新建一个名为test的配置项,如下图2-2所示:
图2-2 预留区双新建TEST区域
步骤3:在cpu/tools文件夹下面,新创建test_res文件夹,放置新建预留区的资源文件,如下图2-3所示:

图2-3 新建文件夹放置资源
步骤4:在download.c里面,加入test_res文件编译下载打包的批处理命令,如下图2-5所示:
图2-5 批处理打包资源
步骤5:编译完成后,需要生成的TEST_ADR真实地址写入对应的配置项,如下图2-6所示:
图2-6 编译生成地址写入
如果TEST_ADR选项还是写着AUTO,会提示如下2-7的错误,需要将真实地址写入,错误如下图所示:
图2-7 编译错误提示
步骤6:代码添加调用预留区新升级的资源文件的处理,验证预留区是否升级成功,如下图2-8所示:
图2-8 编译代码加入预留升级读取验证
步骤7:将编译好的sdk通过codeblock烧录至板子正常跑起。
步骤7:在cpu/tools/test_res文件夹下面新增加2.txt文件作为升级更新内容,如下图2-9所示:
图2-9 更新预留区文件
步骤10:编译好SDK之后,点击生成升级文件.bat,然后选择2升级方式,如下图2-10所示,生成update-ota.ufw文件。
图2-4 ftp生成升级文件
步骤7:拷贝update-ota.ufw文件拷贝到SD卡,上电开机进行升级。
步骤8:升级成功操作机器跑调用读mnt/sdfile/app/test/2.txt这个资源文件,打印读取失败,则说明预留区升级失败,打印如下图2-11所示:
图2-5 预留区资源升级失败
三、分析过程
test资源放在预留区,目前AC792N已经支持预留区OTA升级(AC791N不支持)。需要编译的download.bat处理文件,生成带TEST资源(预留区)OTA升级文件。详细参考如下注释说明,需要添加如下命令生成ota的TEST资源文件,如下图3-1所示:
图3-1 OTA升级带UI资源
四、解决办法
步骤1:尝试在download.c的P处理添加如下命令,提示错误,如下图4-1所示:
图4-1 添加OTA带test资源出错
步骤2:需要在download.c里面,添加包含资源文件的P处理,即可正常,相关修改如下图4-2所示:
图4-2 添加OTA带预留区资源正确处理方法
| copy /B /Y packres\TESTPACKRES set UPDATE_FILES=-update_files embedded TESTPACKRES |
|---|
步骤3:SD卡升级完成后,读取升级文件的资源,可以正常读到,说明预留区升级成功,如下图4-3所示:
图4-3 预留区升级成功
杰理科技
2025年08月25日