BeagleBone AI配置PRU UART所需vout类引脚复用相关问题咨询
关于/boot/uEnv.txt禁用配置的适用性
你在BBBlack上使用的disable_uboot_overlay_video=1、disable_uboot_overlay_emmc=1配置在BBAI上同样适用,这两个参数已经禁用了默认HDMI、eMMC相关的设备树覆盖层加载,避免了对应引脚的默认功能占用。
引脚仍为MUX_MODE0的排查及缺失配置项
你需要按以下顺序检查缺失配置:
- 【未加载自定义设备树覆盖层】你只编写了设备树覆盖层的配置代码,没有完成编译、部署、指定加载的完整流程:
- 将你写的dts文件编译为dtbo二进制文件,编译命令参考:
dtc -I dts -O dtbo -o your-pru-uart.dtbo your-pru-uart.dts - 将生成的dtbo文件移动到
/lib/firmware/目录 - 在
/boot/uEnv.txt中添加加载参数:uboot_overlay_addr0=/lib/firmware/your-pru-uart.dtbo,注意addr后的序号不要和你已加载的其他覆盖层冲突
- 将你写的dts文件编译为dtbo二进制文件,编译命令参考:
- 【pinctrl节点名不匹配】BBAI对应的AM5728芯片设备树中,cape引脚默认pinctrl节点部分版本命名为
&am57xx_beaglebone_ai_cape_pins,而非&cape_pins_default,节点名错误会导致你的复用配置完全不生效,你可以通过grep -r "cape_pins" /boot/dtbs/$(uname -r)/查询当前内核对应的正确节点名 - 【复用模式值错误】对照TI官方AM5728技术手册的引脚复用表确认你使用的引脚对应PRU UART的模式是否真的为MUX_MODE10,部分PRU UART功能对应的是MUX_MODE9,填错模式号也会导致配置无效
- 【u-boot版本不兼容】你使用的4.14.108-ti-r131内核配套的u-boot如果版本过低,会无法正确加载自定义覆盖层,你可以运行
apt update && apt install --only-upgrade bb-u-boot-beagleboneai-installer升级到匹配版本 - 【临时测试验证】你可以先用
config-pin工具临时修改引脚模式验证功能可行性,比如执行config-pin P8.31a pru_uart后再运行show-pins查看引脚状态,如果修改成功说明是你的设备树覆盖层配置问题,修改失败则说明引脚仍被其他未禁用的内核模块占用。
内容的提问来源于stack exchange,提问作者Paul Würtz
相关产品推荐
相关产品推荐

