feat(assets): embed LCD and audio resources in OTA app

This commit is contained in:
chenjintao
2026-10-08 16:58:33 +08:00
parent 3160a33f50
commit 7bc9a3dc76
43 changed files with 443 additions and 243 deletions
@@ -1,10 +1,10 @@
# Flash 与内存容量分析、风险及后续开发建议
> 历史容量快照:文中远程日志与 `logfs` 已从当前固件移除,分区地址和容量应以现行 `16m.csv` 与最新构建产物为准。
> 历史容量快照:文中远程日志、`logfs` 和独立 `gifpack` 分区已从当前固件移除。下文的“当前”“建议”和旧构建步骤仅针对当时版本,不能作为现行操作指南。现行分区以 `16m.csv` 与最新构建报告为准,资源操作见 [应用内嵌素材使用与添加指南](../应用内嵌素材使用与添加指南.md)。
本文记录当前固件的 Flash 分区使用情况、静态 RAM 使用情况、运行时内存风险、可优化内容和后续开发约束,用于功能评审、资源接入、OTA 设计和长期容量管理。
LittleFS 资源从源码到设备的详细流程见:
历史 LittleFS 资源流程归档见:
- [`docs/littlefs-resource-build-flash-mount.md`](littlefs-resource-build-flash-mount.md)
@@ -12,7 +12,7 @@
项目当前直接通过 ESP-IDF `esp_lcd` 驱动 ST7789P3,LCD 渲染链路主要支持:
- 从 LittleFS 读取 PNG;
- 从应用镜像内嵌素材包读取 PNG;
- 将 PNG 解码为 RGB565;
- 按 8 行一组复制到 LCD DMA 行缓冲;
- 合成充电、低电量等状态图标;
@@ -1,5 +1,7 @@
# LittleFS 资源构建、烧录与挂载流程
> 历史流程:当前固件已将 LCD 图片和提示音嵌入 OTA 应用镜像。下文的“当前”、命令和故障排查仅针对旧版 `gifpack` LittleFS,不适用于现行工程;请使用 [应用内嵌素材使用与添加指南](../应用内嵌素材使用与添加指南.md)。
本文说明项目中的 LCD 图片和提示音资源如何从源码目录进入设备 Flash,以及设备运行时如何通过 LittleFS 访问这些资源。同时给出新增、替换和排查资源问题的完整操作步骤。
## 1. 先建立整体认识
@@ -46,7 +46,7 @@ if (!s_server_success_prompt_played) {
if (should_play_prompt) {
(void)domain_runtime_behavior_play_prompt_file(
"/littlefs/audio_prompts/server_connect_success.opus");
"audio_prompts/server_connect_success.opus");
}
```
@@ -14,7 +14,7 @@
- Wi-Fi 连接、重连和配置热点;
- 设备身份、JWT 和会话令牌;
- 用户出生资料、每日运势和财富方向;
- NVS、LittleFS 和工厂 CLI。
- NVS、应用内嵌素材、模型分区和工厂 CLI。
## 2. 分层架构
@@ -238,12 +238,14 @@ TQ_Cat_Code-1.0.3.bin
### 6.4 该文件只是应用镜像,不是完整烧录包
`TQ_Cat_Code-1.0.2.bin` 只对应应用程序分区。它不包含以下独立镜像或资源:
`TQ_Cat_Code-1.0.2.bin` 只对应应用程序分区。它不包含以下独立镜像:
- Bootloader;
- 分区表;
- OTA data 初始化镜像;
- LittleFS/LCD/音频资源镜像。
- 独立模型分区镜像。
当前 LCD 图片和提示音已包含在应用镜像内,会随应用 OTA 一起更新。
该文件适合应用分区 OTA,不能被误认为包含全部分区的整机合并烧录镜像。工厂烧录仍需按照 ESP-IDF 生成的烧录参数写入各个分区。