# 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` 必须记录所选模式、允许路径、排除路径、已执行检查和结论上限。模式变化会使此前依赖更宽范围得出的未确认结论失效。