简介
发现BBB 4.+内核镜像 没有了 sys/devices/bone_capemgr*/slots(其实在/sys/devices/platform/bone_capemgr/slots), 按照官方的说法以后以后是要移除slots文件的,因为内核动态的覆盖bug太多,竞态条件太多,取而代之的是u-boot overlays 方式.
可以看下官方的移除计划,以后这些东西可能突然就没了
Stage 1: Disable Kernel Overlays (bone_capemgr.uboot_capemgr_enabled=1 is passed thru /proc/cmdline)
Stage 2: Disable the slots file (/sys/devices/platform/bone_capemgr/slots) (v4.4.x -> 4.14.x)
Stage 3: Disable bone_capemgr dir (/sys/devices/platform/bone_capemgr/) (v4.15.x+)
以ADAFRUIT-UART1-00A0为例,覆盖文件路径为 /lib/firmware/ADAFRUIT-UART1-00A0.dtbo
解决办法
一.
在 /etc/default/capemgr中添加 CAPE=ADAFRUIT-UART1
然后重启,可以看到cape已经加载
二.
加载覆盖层 BB-UART5-00A0.dtbo ,注意去掉修订号-00A0
echo BB-UART5 > $SLOTS
可以看到加载成功,卸载方法如下
echo -7 > $SLOTS
引用
https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
https://github.com/cdsteinkuehler/beaglebone-universal-io
http://www.kilobaser.com/blog/2014-07-28-beaglebone-black-devicetreeoverlay-generator
http://blog.csdn.net/x356982611/article/details/79207122