资源目录结构
名字解释
内置资源
内置资源是指内置应用中使用的资源。根据外部存储类型的不同,内置资源的存放和访问有一些区别
NOR系统的内置资源: 编译时资源生成c数组,与code一起编译,资源紧凑排放。访问时,CPU或EPIC可以直接访问
NAND/eMMC系统的内置资源
builtin_res: 与NOR系统的内置资源处理方式一样,但存储是以块的方式存储。访问时,需要通过驱动进行访问。由于NAND/eMMC方案中images通常很大,建议固化images,OTA升级的时候只升级images_update
文件系统方案: butterfli编译资源的时候,编译为bin文件。访问时,是以文件的方式进行访问
内置资源目录
内置资源放在solution/examples/xxx/resource里,如下图是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分区,所有后续OTA增加、更新的图片,OTA升级时只升级images_update即可。对更新的图片code中需要改名,从而保证images分区中源文件不变(但不再使用)。
butterfli编译时images_update中图片将放入OTA_IMG段,参照对应工程目录的sct文件,链接会放入LR_IROM4(images_update)分区
#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
外置资源目录
所有外置应用的资源是单独分开的,外置资源目录参考"动态应用指南-目录结构"章节外置应用目录结构