linux - 部署设备树覆盖时出错

标签 linux embedded-linux beagleboneblack

我正致力于在我的 Beaglebone Black 上部署设备树覆盖。

Linux 版本是:

Linux version 4.1.18-ti-r52 (root@b1-omap5-uevm-2gb) (gcc version 4.9.2 (Debian 4.9.2-10) ) #1 SMP Thu Mar 10 00:41:28 UTC 2016

我正在关注示例 https://github.com/jadonk/validation-scripts/blob/master/test-capemgr/README.md .

我还研究了 Derek Molloys 的探索 BeagleBone 黑皮书第 6 章中的示例。在这两种情况下,我在部署叠加层时都遇到了相同的错误。叠加层似乎部署正确,执行 echo > $SLOTS 时没有出现错误,但是当我使用 dmesg 查看内核消息时,出现如下所示的错误。下面显示的内容来自于 jadonk 示例。

[ 1053.452639] bone_capemgr bone_capemgr: Using override eeprom data at slot 5
[ 1053.452664] bone_capemgr bone_capemgr: slot #5: 'Override Board Name,00A0,Override Manuf,pinctrl-test-7'
[ 1053.455556] pinctrl-single 44e10800.pinmux: pin 44e10964.0 already requested by ocp:P9_42_pinmux; cannot claim for ocp:helper
[ 1053.467142] pinctrl-single 44e10800.pinmux: pin-89 (ocp:helper) status -22
[ 1053.474093] pinctrl-single 44e10800.pinmux: could not request pin 89 (44e10964.0) from group pinctrl_test_7_pins  on device pinctrl-single
[ 1053.486626] bone-pinmux-helper ocp:helper: Error applying setting, reverse things back
[ 1053.495157] pinctrl-single 44e10800.pinmux: pin 44e10964.0 already requested by ocp:P9_42_pinmux; cannot claim for ocp:helper
[ 1053.506627] pinctrl-single 44e10800.pinmux: pin-89 (ocp:helper) status -22
[ 1053.513582] pinctrl-single 44e10800.pinmux: could not request pin 89 (44e10964.0) from group pinctrl_test_7_pins  on device pinctrl-single
[ 1053.526118] bone-pinmux-helper ocp:helper: Error applying setting, reverse things back
[ 1053.534109] bone-pinmux-helper ocp:helper: Failed to select default state

部署前我看到:

root@beaglebone:/lib/firmware# cat $SLOTS
 0: PF----  -1 
 1: PF----  -1 
 2: PF----  -1 
 3: PF----  -1 
 4: P-O-L-   0 Override Board Name,00A0,Override Manuf,cape-universaln

部署后我看到:

root@beaglebone:/lib/firmware# cat $SLOTS
 0: PF----  -1 
 1: PF----  -1 
 2: PF----  -1 
 3: PF----  -1 
 4: P-O-L-   0 Override Board Name,00A0,Override Manuf,cape-universaln
 5: P-O-L-   1 Override Board Name,00A0,Override Manuf,pinctrl-test-7

但是 dmesg 显示上面的错误。

您能否建议可能发生的情况和/或我如何解决问题?

最佳答案

我已经解决了这个问题。在另一个论坛上,向我解释了 cape-universaln 和 config-pin 的用法。 cape-universaln 是一个覆盖层,它提供了一种无需编写覆盖层即可配置引脚的方法。在 https://github.com/cdsteinkuehler/beaglebone-universal-io 上有很好的信息.我看到的管脚冲突是意料之中的。我试图在一个已经部署的覆盖层之上部署一个不需要的覆盖层,它提供了一种更简单的配置引脚的方法。还在学习中。

关于linux - 部署设备树覆盖时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39563781/

相关文章:

linux - hrtimer 即使未启动也会运行

c - 中断组合键(例如 CTRL-C)如何以及何时转换为信号?

linux - cpp 的 usleep 函数有多不准确?

c++ - 调试器如何设法中断任何抛出?

linux - 除了使用关联掩码之外,如何在 Linux 中找到线程关联?

node.js - 如何让更新的 node.js 版本在 Beaglebone Black ARMv7 板上运行?

c++ -/lib/libstdc++.so.6 : no version information available

c++ - 串行端口轮询在 Beaglebone Black 上不起作用

linux - 在内核空间和用户空间之间进行通信的理想且最快的方式是什么?

linux shell 补丁命令