Files
firmware-app-development/references/boundaries.md
T
2026-09-11 10:42:38 +08:00

80 lines
3.7 KiB
Markdown

# 应用层与底层修改边界
文件、字段或脚本可能影响硬件和底层固件时,按本说明判断。
## 应用组负责
- 用户态应用、服务进程和业务模块。
- 直播、事件、存储、网络、云服务、告警、设备管理等应用功能。
- 明确由应用管理的功能开关、产品能力和应用参数。
- 应用日志、诊断、校验脚本和说明文档。
- 应用构建、打包、样机联调、平台联调、发布、认证配合及量产应用功能。
- Bug 修复和回归处理。
应用组负责上述工作,但只执行当前需求明确要求的内容。外部操作必须先单独确认。
## 默认不修改的内容
- `psp/` 目录、`psp.json` 及其他 PSP 配置。
- BSP、Bootloader、内核、内核模块和驱动。
- 设备树、板级配置、引脚复用、寄存器、时钟和电源控制。
- Flash 分区、启动槽、内存布局和底层镜像格式。
- GPIO/PQ、传感器初始化、ISP、底层媒体实现和硬件编解码。
- 电机电气控制、Wi-Fi 驱动选择和其他硬件初始化。
默认可以读取、检查和使用已有底层文件或产物,但不主动修改。复制、链接、打包已有底层产物,也不代表可以编辑它们。
## 明确指定后可以修改
用户明确说出要修改的底层类型或目标时,可以执行对应修改,包括 PSP、BSP、Bootloader、内核、驱动、设备树、分区、GPIO/PQ、传感器配置、底层媒体和硬件初始化。
执行要求:
1. 将底层修改列入任务清单。
2. 查找具体文件、字段、当前值和影响。
3. 目标值或做法不明确时,列出确认项。
4. 给出简短实现方案,用户确认后修改。
5. 只修改确认范围。需要增加关联文件时,先说明原因并等待确认。
6. 修改后检查 Git 差异,并运行项目已有的配置校验。
7. 编译和打包按任务要求执行。生成 Bootloader、内核、驱动或底层镜像前单独确认。
用户确认普通应用任务不等于允许修改底层。普通应用需求涉及底层依赖时,先列出需要修改的内容和影响。
## 混合配置
PSP 文件默认不修改。用户明确要求修改 PSP 时,可以按已确认的任务和方案修改相应字段。
其他产品清单、镜像清单、传感器配置、GPIO/PQ 参数和驱动映射也可能同时包含应用和底层内容。没有明确底层修改要求时,只修改项目资料明确由应用维护的字段。
没有底层修改要求且无法确认归属时:
1. 先按底层内容处理。
2. 保持文件不变。
3. 列出需要修改的内容及其影响。
用户已经明确指定该类底层修改时,先查找归属和具体位置;仍无法确认时列出确认项,不猜测修改。
## 未明确要求的底层内容
应用开发中发现需要底层修改,但用户没有明确要求修改时,只输出必要信息:
- 相关应用任务。
- 需要处理的底层文件、模块或能力。
- 当前情况。
- 需要达到的结果。
- 对应用代码、编译或联调的影响。
不建立中心转交或跟踪流程。能独立完成的应用代码继续完成;依赖底层的部分标记为“底层未处理”。用户后来明确要求修改时,再将其加入任务清单并确认方案。
## 禁止假实现
底层能力缺失时,不得使用以下方式冒充完成:
- Mock、Stub、假接口或假数据。
- 固定返回成功。
- 临时兜底或静默跳过。
- 复制一套替代流程绕开正式接口。
- 用注释或配置开关掩盖未实现内容。
产品需求明确要求的兼容、降级或模拟功能不属于假实现,但必须在任务清单和实现方案中写清楚并由用户确认。