资源目录结构

名字解释

内置资源

内置资源是指内置应用中使用的资源。根据外部存储类型的不同,内置资源的存放和访问有一些区别

  • 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

外置资源目录

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