792N系列 U盘单备份升级说明
📎 原始文档:https://www.kdocs.cn/l/caGVAlqbmE6N 792N系列 U盘单备份升级说明
简述
本文档对792系列 支持U盘单备份升级提供相关配置说明
测试环境
792开发板
AC792N_SDK_RELEASE_V2.2.2_2025-04-22
wificamera工程
📢ota工程版本要求
自行下载:
gitee-repos-Other: 杰理仓库整理 — 其他
WiFicamera工程应用层配置
app_config.h配置:
//#define CONFIG_UDISK_STORAGE_PATH "storage/udisk0"//FUSB
#define CONFIG_UDISK_STORAGE_PATH "storage/udisk1"//HUSB

板级头文件配置:

fs_update.c补充适配逻辑:
#if TCFG_UDISK_ENABLE
char *udisk_path = CONFIG_UDISK_STORAGE_PATH;
int id = udisk_path[strlen(udisk_path) - 1] - '0';
printf("udisk path=%s id=%d\n", udisk_path, id);
while (!udisk_storage_device_ready(id)) {//等待文件系统挂载完成
os_time_dly(30);
}
printf(">>>Udisk%d is ready <<<", id);
#else
while (!storage_device_ready()) {//等待文件系统挂载完成
os_time_dly(30);
}
#endif // TCFG_UDISK_ENABLE

#if TCFG_UDISK_ENABLE
//
UPDATA_UDISK udisk = {0};
char *udisk_path = CONFIG_UDISK_STORAGE_PATH;
udisk.usb_id = udisk_path[strlen(udisk_path) - 1] - '0';
udisk.speed = 1; //fusb
if (udisk.usb_id == 0) {
udisk.speed = 0;
}
memcpy((void *)p->parm_priv, (void *)&udisk, sizeof(UPDATA_UDISK));
#endif

C补充结构体:
typedef struct _UPDATA_UDISK {
u8 usb_id; //0:usb0 1:usb1
u8 speed; //0:fusb 1:husb
} UPDATA_UDISK;

ota升级工程应用层配置
操作步骤与SD卡升级一致,参考文档:
AC792系列_卡升级使用说明v1.3.docx
📢注意
u盘ota工程对应usb_sec_ota_update、usb_ota_update文件夹下的cbp工程

常见问题
升级校验失败
有两种异常打印:

对比分析:
根本原因:
flash的clk加了个15pf电容,导致读预留区阶段数据失败,出现校验异常
处理方案:
去掉flash的clk 15pf电容