chore(release): 1.0.1

明确 BSP 的 RES 开发范围和 SDK 构建写入边界;调整 CV184X 强制补丁预检并补齐构建交接测试。
This commit is contained in:
tangfahong committed 2026-10-09 18:05:07 +08:00
1 parent 1641fac631
commit ea4ff92835
11 files changed
+90 -17

No files matched your search

@@ -19,6 +19,12 @@ description: "基于 EmxRes 参考项目创建和适配板级 BSP,处理 CV18
8. `EP_CHIP` 为 CV181X、且参考项目使用 `configs/kernel/` 与 `configs/uboot/` 时,读取 [CV181X 分目录与 SDK 只读核对](references/cv181x-sdk-readonly-review.md)。需要访问 SDK 时还必须有用户明确给出的精确 SDK 路径;默认不访问。
9. `EP_CHIP` 为 CV184X、且项目使用单板卡配置目录时,读取 [CV184X 板级配置与构建链](references/cv184x-sdk-readonly-review.md)。需要核对 SDK 当前状态时,必须由用户给出精确 SDK 根目录;默认不访问。
## 开发范围与准确表述
BSP 开发改动只写入当前 `EmxRes/<项目名>` 及其 staging 项目;SDK 在调查阶段只读。已确认的原生全量编译会将 RES 配置同步到 SDK,并写入生成文件,这属于构建实际写入,不能承诺 SDK 目录完全不变。不得把 SDK 同步目标列为人工开发修改清单。
形成方案、说明 SDK 差异或报告构建结果前,读取并遵守 [RES、SDK 与表述边界](references/res-sdk-boundary.md)。SDK 编辑、软链接改造、已有改动恢复及共享构建脚本修改均不属于默认 BSP 工作范围。
## 默认工作模式
- 参考项目和新项目必须是 `EmxRes` 的直接子目录。参考项目只读,新项目先在同一根目录的临时目录中完成。
@@ -32,7 +38,7 @@ description: "基于 EmxRes 参考项目创建和适配板级 BSP,处理 CV18
## 允许的 BSP 差量
正常范围包括项目命名及必要引用、CV18 `cvi_board_init.c` 与有效 DTS/DTSI 的 GPIO 释放或重分配、项目级媒体 ION 内存、现有分区源定义、`imgs` 软链接,以及 `doc/bsp_adaptation/` 证据。
正常范围限于当前 RES 项目中的项目命名及必要引用、CV18 `cvi_board_init.c` 与有效 DTS/DTSI 的 GPIO 释放或重分配、项目级媒体 ION 内存、现有分区源定义、`imgs` 软链接,以及 `doc/bsp_adaptation/` 证据。SDK 中的对应路径只作为调查映射和原生构建同步目标。
项目级媒体保留内存和已有分区配置属于本 Skill;DDR 初始化、MMU、通用分配器、存储驱动、Boot 逻辑、跨芯片适配和公共平台能力属于 PSP 或新的已确认工作包。不得修改应用业务。
@@ -45,7 +51,7 @@ description: "基于 EmxRes 参考项目创建和适配板级 BSP,处理 CV18
- 原理图派生 GPIO 必须先写入并通过 `scripts/bsp/validate_gpio_plan.py`,再由用户确认整个实施表;`provisional` 或 `blocked` 行不能进入代码。
- 其他厂商芯片的媒体内存不自动修改;报告人工修改警告,但可继续独立的已确认工作。
- 任务需要构建产物时,`bsp_preflight.py build` 通过后自动执行标准全量编译:在固定 `EmxRes` 根目录加载 `tools/script_completion.sh`,再运行 `EMX2_BuildSDKTool <项目名> <构建版本> all`,不再单独请求确认。标准脚本内部的配置同步和 `git fetch origin` 视为该构建的一部分。直接运行 `ep_kernel.sh`、`ep_uboot.sh`、`EPSYNCSDKConfig.sh`,改用组件构建、覆盖已有输出或修改统一构建脚本不属于自动范围,出现这些需求时停止并请用户确认。
- CV184X 的标准构建有额外例外:`bsp_preflight.py build` 报告 `requires_patch_precheck=true` 时,`passed=true` 仍不足以自动构建。补丁环境检查失败会走 `--applypatch --force`,可能对多个 SDK 子仓库执行 `git reset --hard`。一次性构建确认不包括丢弃这些仓库的已有改动。构建前先按 CV184X 专页核对补丁门禁及相关仓库状态;无法证明不会进入强制重置分支时停止,明确列出风险和受影响路径,另请用户决定。不得用只读文件比对代替补丁环境检查通过的证据。
- CV184X 的补丁检查由项目统一编译脚本负责;Skill 不额外运行 `--check-env`、检查补丁完整性或访问 SDK 子仓库。不得主动或通过统一脚本自动执行 `--applypatch --force`。构建预检只读取精确的项目构建入口,发现该脚本可能调用强制打补丁时停止,不运行编译;先由构建脚本所有者改成失败即返回错误,不代改共享脚本、不通过检查通过与否绕开风险。安全入口就绪后运行原生全量编译,记录真实退出码、失败原因和产物结果。
- 编译成功后先对本次精确 imgs 版本路径自动执行并复核 `a+rX`:路径上的目录和输出内目录对所有用户可读、可进入,普通文件对所有用户可读,原本可执行的文件才补齐所有用户执行权限;不得跟随软链接、扩大到其他构建版本或使用 `chmod -R 777`。权限处理失败时不能记录 `build_passed`。随后核对唯一 `kernel.bin`、`rootfs.bin` 与实际生效分区表;每个镜像相对其所有对应分区中的最小容量必须至少保留 512 KiB(524288 字节),否则不能记录 `build_passed`。全部通过后持久化权限与余量证据、精确 imgs 版本目录、产物 hash 和 PSP 交接 manifest,并用 `project_guard.py audit-final` 复核正式项目。
- 本地配置检查通过只能声明项目已创建或 `local validation passed`;未执行同步、编译和板上验证时必须如实标注。
- 完成时按 [记录规范](../firmware-lowlevel-development/references/records.md) 和 [交付契约](../firmware-lowlevel-development/references/deliverable-contract.md) 报告;不执行 `git add`、提交或远端推送。