Files
firmware-lowlevel-development/skills/firmware-lowlevel-bsp-development/references/scope-and-validation-modes.md
T

2.5 KiB
Raw Blame History

BSP 调查范围与验证模式

默认范围

默认只读取:

  • 用户明确给出的原理图、GPIO List、规格书和需求清单;
  • 当前 BSP Skill 的指令、脚本和 references/gpio-pinout/ 内置资料;
  • ~/EapilBsp/EMX2.0/EmxRes/<参考项目>;
  • 已确认后的目标 staging/正式项目;
  • EmxRes/tools/script_completion.sh 及其为解释实际构建副作用所必需的精确相邻脚本;
  • 构建后的 /epbuild/EMX2.0/EmxRes/<目标项目>/imgs/<构建版本>。

不得用 find、rg 或同类工具扫描整个用户主目录、整个 EapilBsp、整个 SDK 或无关项目。找不到资料时列出缺失项和建议的精确路径,不扩大搜索范围。用户主动收紧范围后立即采用更窄边界;报告曾经执行但被废弃的越界只读调查,不能写成“从未搜索”。

EmxRes 配置模式(默认)

适用于用户只允许查看项目 Overlay 和统一编译的情况:

  1. 人工分析只覆盖参考/目标项目中的 buildEnvConfig.sh、配置目录、cvi_board_init.c、板级 DTS/DTSI、defconfig、分区和同步脚本。
  2. 不人工搜索 SDK 源码,也不据此声称完整 include 链已审计。
  3. 项目最终化前允许声明“项目级静态检查通过”;不能声明最终 Kernel GPIO 占用已验证。
  4. 任务需要构建产物时,预检通过后自动执行统一全量编译,并以实际编译成功和生成的最终 DTB/FIT 为生效证据。能从最终 DTB 可靠反编译时,核对目标 GPIO 消费者并保存结果;不能反编译时明确标记未验证。

该模式不会因为禁止人工读取 SDK 而阻塞项目创建,但会降低 DTS 结论的验证等级。

完整 DTS 审核模式

仅在用户授权读取精确 SDK 基线路径时使用:

  1. 从实际板级 DTS 开始递归解析有效 DTS/DTSI include 链和条件编译上下文。
  2. 读取范围限于为该 build type 解析出的精确文件和必要的 Pinmux 定义;仍禁止扫描整个 SDK。
  3. include 无法解析或上下文不唯一时,目标 GPIO 占用检查不得判为通过。
  4. 本模式只授予只读分析;只有任务明确进入构建产物交付级别时,才按 BSP 构建规则自动执行标准全量编译。其他 SDK 写入仍需用户确认。

模式记录

预检摘要和 adaptation_report.md 必须记录所选模式、允许路径、排除路径、已执行检查和结论上限。模式变化会使此前依赖更宽范围得出的未确认结论失效。