# 应用层与底层修改边界 文件、字段或脚本可能影响硬件和底层固件时,按本说明判断。 ## 应用组负责 - 用户态应用、服务进程和业务模块。 - 直播、事件、存储、网络、云服务、告警、设备管理等应用功能。 - 明确由应用管理的功能开关、产品能力和应用参数。 - 应用日志、诊断、校验脚本和说明文档。 - 应用构建、打包、样机联调、平台联调、发布、认证配合及量产应用功能。 - 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、假接口或假数据。 - 固定返回成功。 - 临时兜底或静默跳过。 - 复制一套替代流程绕开正式接口。 - 用注释或配置开关掩盖未实现内容。 产品需求明确要求的兼容、降级或模拟功能不属于假实现,但必须在任务清单和实现方案中写清楚并由用户确认。