资源目录结构¶
1. 内置资源¶
1.1 概念¶
指内置应用绑定的资源,其存放与访问方式随外部存储类型(NOR/NAND/eMMC)不同而存在差异,具体规则参考内置资源的存放和访问。
NOR系统: 编译时资源生成c数组,与code一起编译,资源紧凑排放。访问时,CPU或EPIC可以直接访问
NAND/eMMC系统:
builtin_res: 与NOR系统的内置资源处理方式一样,但存储是以块的方式存储。访问时,需要通过驱动进行访问。由于NAND/eMMC方案中images通常很大,建议固化images,OTA升级的时候只升级images_update
文件系统方案: butterfli编译资源的时候,编译为bin文件。访问时,是以文件的方式进行访问
1.2 目录¶
内置资源统一存放于路径 solution/examples/xxx/resource/ 下(xxx 为具体产品型号,如 watch),目录按资源类型与功能细分,以下为典型产品的目录说明:

子目录具体说明如下:
目录 |
说明 |
|---|---|
app_tool |
SF_TOOL目录,暂未使用 |
built_in |
和主代码一起编译的资源,NAND工程/NOR Ramrun工程OTA时使用 |
fonts |
主代码使用的字体,包括freetype和bitmap |
images |
内置应用的资源 |
imgage_emoji |
emoji资源 |
imgages_fs |
存放背景图,用于表盘更换背景 |
images_update |
NAND/eMMC使用builtin_res方案时,用于存放OTA更新资源 |
langs |
存放主代码使用的多语言excel表 |
music |
存放音乐 |
ring |
存放铃音 |
特别说明,images_update:
设计目的
NAND/eMMC 系统中images目录资源通常体积庞大,若每次 OTA 均升级整个images分区,会导致升级耗时过长。images_update用于存放后续新增 / 更新的图片资源,实现 OTA 增量更新,避免全量升级。
核心规则
资源命名:更新的图片需修改文件名,确保原images分区中的旧文件不被覆盖(旧文件保留但不再被调用);
编译链接:Butterfli 工具编译时,images_update中的资源会被放入OTA_IMG段,通过工程sct文件指定存储分区(LR_IROM4)。
链接配置
#if HCPU_FLASH2_IMG_UPGRADE_SIZE > 0
LR_IROM4 HCPU_FLASH2_IMG_UPGRADE_START_ADDR HCPU_FLASH2_IMG_UPGRADE_SIZE { ; load region size_region
ER_IROM4 HCPU_FLASH2_IMG_UPGRADE_START_ADDR HCPU_FLASH2_IMG_UPGRADE_SIZE { ; RW data
*.o (.OTA_IMG.*)
}
}
#endif
配置方式
配置builtin_res和images_update

2. 外置资源目录¶
所有外置应用的资源是单独分开的,外置资源目录参考"动态应用指南-目录结构"章节外置应用目录结构