Agent Skills
返回列表
💻

Jetson BSP nvpmodel 电源模式定制

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/jetson-customize-nvpmodel。

技能介绍

问题背景

Jetson / Tegra 设备上电后由 nvpmodel 决定 CPU、GPU、EMC、TPC 等时钟钳位与默认电源包络。NVIDIA BSP 在 rootfs/etc/nvpmodel/ 下为每块模块/SKU 提供独立配置文件;若要在镜像构建侧固定启动模式、增删自定义功率档位或改默认 PM_CONFIG DEFAULT=,直接改上游 bsp_image 会在下次 jetson-init-image 时被覆盖,且破坏与 /jetson-promote-image 配套的差异跟踪。

技能如何工作

本技能仅处理 BSP 叠加层(overlay tracker)下的 nvpmodel_*.conf 编辑;bsp_image 副本只读。运行前按活动配置解析目标板对应的 nvpmodel 文件名(DTB compatible + nvpower.sh 映射,或 _super 等变体),并拒绝无 Linux_for_Tegra、无 bsp_image 等前置缺失场景。

核心能力对应五类操作:

  • 添加/移除 POWER_MODEL 块(非标准包络须用 NVIDIA Power Estimator 导出,禁止从邻近模式插值估功率)
  • 编辑 现有模式内的钳位、核心在线、NAME= 等
  • 修改 文件尾部 PM_CONFIG DEFAULT= 启动默认值
  • 列出 已定义模式(只读,无需叠加配方)

写入前统一走叠加编辑配方(原始 import + 定制 commit);编辑后需对传播集同步:参考平台配置、同模块由 jetson-derive-carrier 派生的兄弟文件,以及 _super 变体——后者只移植结构性变更,保留其更高的 MAX_FREQ/MIN_FREQ 上限,避免整文件覆盖压平超级包络。

格式上须遵守 BSP 头规范:TYPE=FILE 为字符串、TYPE=CLOCK 为 Hz 整数、-1 仅对 CLOCK 表示无上限;POWER_MODEL 引用的 PARAM_NAME 须先声明;频率须落在内核 available_frequencies 表内;CORE_0 不可离线。

边界与注意

  • 技能不会在运行中设备上执行 nvpmodel -m;生效需走 /jetson-promote-image → /jetson-flash-image,或 scp 到 /etc/nvpmodel/ 后手动切换。
  • PARAM 命名随芯片系而异(如 T234 的 CPU_A78_*),须从现有块逐字复制,勿自行发明。
  • 删除模式时若 DEFAULT= 指向该 ID,须改指向剩余有效 ID,并 grep 根文件系统中硬编码的 nvpmodel -m 引用。

使用场景

  • 为 P3767 等 SKU 从 Power Estimator 导出 30 W 档位,写入叠加层并设为 `PM_CONFIG DEFAULT=` 启动默认
  • 定制载板 BSP 需删除多余 `POWER_MODEL` ID,并修正尾部 DEFAULT 避免启动无法应用默认值
  • Thor 目标仅将启动包络固定为 MAXN,不改 CPU/GPU 钳位,只改每板 conf 底部 DEFAULT
  • 编辑活动 SKU 的 nvpmodel 后,向参考平台、derive-carrier 兄弟文件及 `_super` 变体做结构性同步

适合人员

  • 维护 `Linux_for_Tegra` 叠加仓库、需在 promote 前固化每板启动功耗档的 Jetson BSP 工程师
  • 为量产烧录前指定默认 nvpmodel 模式、避免产线手工 `nvpmodel -m` 的嵌入式产品集成工程师
  • 使用 jetson-derive-carrier 生成多份 `nvpmodel_*.conf`、改一处需全谱系一致传播的载板方案开发者
  • 按项目热设计约束新增非标准功率包络、且拒绝在现有模式间插值估频的 Orin/Thor 平台调优人员