本文使用的sdk为fw-AC79_AIoT_SDK-release-AC79NN_SDK_V1.2.0
问题1
REM 目前检测到SDK使用了资源文件打包放到预留区的功能,详细请浏览开源文档7.19资源区配置(RES和预留区),此功能可以节省flash空间,但操作比较繁琐
REM 若flash容量充足不需要此功能,可屏蔽对应的宏定义
REM 特别注意特别注意!!!如果跨版本升级固件,比如从1.0.3和1.1.x版本升级到1.2.x版本,必现保证生成的isd_config.ini升级前后的配置一样,请阅读tools/note.txt,必要时请向FAE确认
REM 开发过程中可先设置isd_config_rule.c的配置项CALC_RES_CFG=YES,工具会自动适配填写对应资源文件的起始地址和长度,量产版本严禁打开该配置项,必须关闭!!!
REM 量产版本必须先设置isd_config_rule.c的配置项CALC_RES_CFG=NO,然后根据资源文件大小填写AUPACKRES_LEN和UIPACKRES_LEN,请预留好后续资源升级的空间余量,该大小一经烧录之后是严禁更改的,升级固件生成时此大小必须保持一样!!!
REM 量产版本填写AUPACKRES_LEN和UIPACKRES_LEN后点击第一次下载时工具还会出现警告,需要自行把脚本打印出来的flash info的AUPACKRES_ADR和UIPACKRES_ADR同步覆盖到isd_config_rule.c对应的AUPACKRES_ADR和UIPACKRES_ADR,该值一经烧录之后是严禁更改的,升级固件生成时此值必须保持一样!!!
REM 如知悉后可自行删除下一行exit即可正常下载
编译结束提示该文本,需要按提示删除\cpu\wl82\tools\download.c中的对应行的exit
问题2
错误:在配置文件(isd_config.ini)中发现非标准的预留区域配置预留区域(AUPACKRES)被指定了文件 (packres/AUPACKRES)请设置AUPACKRES_ADR的值为固定值(绝对地址)20
错误:FW文件不存在:
il isd.fw
错误:无效的FW文件[j1 isdfw], 请重新选择
方法1
在\cpu\wl82\tools\isd_config_rule.c文件中,添加
CALC_RES_CFG = YES;
方法2
在\cpu\wl82\tools\isd_config_rule.c文件中,修改AUPACKRES_ADR,AUPACKRES_LEN,UIPACKRES_ADR,UIPACKRES_LEN为FLASH INFO打印的实际地址。其中xxxx_ADR对应xxxx_RESERVED_START,xxxx_LEN对应xxxx_RESERVED_END
特别注意,isd_config_rule.c文件中存在两处以下代码,两处都需要修改。
AUPACKRES_ADR=0x59a000; [请根据编译后FLASH INFO打印的实际地址填写,比如0x59b000]
AUPACKRES_LEN=0x141000; [更新提示音资源打包后必须更新此实际长度,比如0x141000]
UIPACKRES_ADR=0x6db000; [请根据编译后FLASH INFO打印的实际地址填写,比如0x6dc000]
UIPACKRES_LEN=0x123000; [更新UI资源打包后必须更新此实际长度,比如0x123000]
问题3
错误:预留配置UIPACKRES中指定的文件的大小比当前配置区域的大小要大
由于问题2使用了方法2导致,重新将AUPACKRES_ADR,AUPACKRES_LEN,UIPACKRES_ADR,UIPACKRES_LEN修改为AUTO,再重复问题2的解决方法。