跳转至

pin_mux_tool 管脚复用配置工具

pin_mux_tool — Windows 图形化工具,用于 Hi3516CV610 管脚复用(IOCFG 寄存器)配置:可视化编辑引脚的复用功能、驱动能力、上下拉与输入使能,实时计算寄存器十六进制值,并一键导出 board-io-cfg skill 可直接使用的 xlsx 配置表。

工具获取

工具位于项目 tools/pin_mux_tool/ 目录:

tools/pin_mux_tool/electron_app/Hi3516 Config Tool.exe

双击 Hi3516 Config Tool.exe 运行,无需安装。

功能说明

功能 说明
可视化引脚图谱 高亮展示当前编辑、已分配及未分配的管脚,按功能用彩色标签区分
实时寄存器计算 更改复用、上下拉、驱动、速率选项后,自动实时计算 IOCFG 寄存器十六进制值(如 0x12050x1101
导入寄存器脚本 bspmd 寄存器写入命令批量粘贴,自动逆向解析出各引脚的复用状态、驱动档位、上下拉状态
导出 xlsx 配置表 8 列标准格式(Pin、GPIO_Number、Function_Name、Pull、Drive、Slew、Input_Enable、Init_Level),可直接用于 board-io-cfg skill 生成 dtsi 和内核模块
导出调试脚本 生成标准 .sh 脚本,拷贝到开发板运行可实现引脚热重载

寄存器控制位

Hi3516CV610 每个引脚由一个 32 位 IOCFG 寄存器控制:

位域 功能 取值
Bit [3:0] 复用功能选择(MUX) 0x0 ~ 0xF:对应不同复用功能(如 GPIO、I2C、UART、MIPI)
Bit [7:4] 驱动能力(DRV) 按引脚驱动强度类型匹配档位,如 I02I02_档位4 (0x0) ~ I02_档位1 (0x3)
Bit [8] 上拉(PU) 0x0 关闭,0x1 开启
Bit [9] 下拉(PD) 0x0 关闭,0x1 开启
Bit [10] 电平转换速率(SR) 0x0 快沿,0x1 慢沿
Bit [12] 输入使能(IE) 所有引脚硬件默认均为 1,写入时始终置位

操作指南

  1. 打开应用,点击顶部 应用预设模板,载入包含 JTAG、UART0、SDIO、I2C、MIPI 摄像头等标准外设的管脚复用规则
  2. 在中间引脚列表点击目标引脚,右侧抽屉中修改复用功能、上下拉、驱动能力、输出速率,寄存器值瞬间更新
  3. 已有寄存器脚本时,点击左侧 导入配置脚本,粘贴 bspmd 0x... 32 命令并点击 解析并导入,自动还原各引脚状态
  4. 配置完成后,点击 导出 xlsx 文档导出调试脚本;也可在右侧抽屉或左侧面板一键复制所有已修改引脚的 Shell 配置

引脚上下拉互斥:选择上拉时下拉自动取消;在抽屉中点击 恢复默认值 可将引脚重置为出厂状态。

与 board-io-cfg skill 集成

工具导出的 xlsx 配置表可直接与项目中的 board-io-cfg skill 配合使用,实现从配置到系统镜像的全自动化:

pin_mux_tool 导出 xlsx
board-io-cfg skill 一键脚本(gen_all.sh)
        ├── xlsx_to_dtsi.py → board_io_config.dtsi(编入 uImage)
        └── make            → board_io_cfg.ko(打包进 rootfs)
重新编译系统镜像 → 烧录 → insmod 验证

使用步骤:

# 1. 将导出的 xlsx 复制到 board-io-cfg skill 目录
cp 导出的文件.xlsx .agents/skills/board-io-cfg/references/cv610_gpio.xlsx
# 2. 运行一键脚本
bash .agents/skills/board-io-cfg/scripts/gen_all.sh
# 3. 删除旧 uImage,重新编译系统镜像
rm -f _build/install/image/gui/uImage
bash scripts/build.sh build --target cv610_ev_board samples gui/circle_lcd_video_ui
# 4. 烧录到开发板,加载模块验证
insmod /drv/ko/ot_board_io_cfg.ko
dmesg | grep board_io_cfg

FAQ

问题 说明
如何将导出的 xlsx 应用到系统镜像中 替换 references/cv610_gpio.xlsx 后运行 gen_all.sh,见上节集成步骤