【问题标题】:beaglebone black adc "in_voltageX_raw': Resource temporarily unavailable"beaglebone black adc "in_voltageX_raw': 资源暂时不可用"
【发布时间】:2021-09-01 17:04:52
【问题描述】:

我很难从 bbb 上的模拟输入中获取读数。

cat /sys/bus/iio/devices/iio:device0/in_voltage5_raw cat: '/sys/bus/iio/devices/iio:device0/in_voltage5_raw': 资源暂时不可用

猫 /etc/dogtag BeagleBoard.org Debian Buster 控制台映像 2020-05-18

uname -a Linux beaglebone 5.4.38-ti-r8 #1buster SMP PREEMPT Sat May 9 09:53:15 UTC 2020 armv7l GNU/Linux

sudo /opt/scripts/tools/version.sh

git:/opt/scripts/:[029041f6866049997bbfd2c7667b3c6e8c95201c]
eeprom:[A335BNLT000C1716BBBG0543]
model:[TI_AM335x_BeagleBone_Black]
dogtag:[BeagleBoard.org Debian Buster Console Image 2020-05-18]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2019.04-00002-g31a8ae0206]:[location: dd MBR]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2019.04-00002-g07d5700e21]:[location: dd MBR]
UBOOT: Booted Device-Tree:[am335x-boneblack-uboot-univ.dts]
UBOOT: Loaded Overlay:[AM335X-PRU-RPROC-4-19-TI-00A0]
UBOOT: Loaded Overlay:[BB-ADC-00A0]
UBOOT: Loaded Overlay:[BB-BONE-eMMC1-01-00A0]
kernel:[5.4.38-ti-r8]
/boot/uEnv.txt Settings:
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[disable_uboot_overlay_video=1]
uboot_overlay_options:[disable_uboot_overlay_audio=1]
uboot_overlay_options:[disable_uboot_overlay_wireless=1]
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-19-TI-00A0.dtbo]
uboot_overlay_options:[enable_uboot_cape_universal=1]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade <pkg>]
pkg:[bb-cape-overlays]:[4.14.20201119.0-0~buster+20201123]
WARNING:pkg:[bb-wl18xx-firmware]:[NOT_INSTALLED]
pkg:[kmod]:[26-1]
WARNING:pkg:[librobotcontrol]:[NOT_INSTALLED]
pkg:[firmware-ti-connectivity]:[20190717-2rcnee1~buster+20200305]
groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal input bluetooth netdev gpio pwm eqep remoteproc admin spi iio i2c docker tisdk weston-launch xenomai cloud9ide]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet]
dmesg | grep remote
[   10.849708] remoteproc remoteproc0: wkup_m3 is available
[   11.073021] remoteproc remoteproc1: 4a334000.pru is available
[   11.074751] remoteproc remoteproc2: 4a338000.pru is available
[   11.078998] remoteproc remoteproc0: powering up wkup_m3
[   11.079139] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217168
[   11.083282] remoteproc remoteproc0: remote processor wkup_m3 is now up
dmesg | grep pru
[   11.073021] remoteproc remoteproc1: 4a334000.pru is available
[   11.073193] pru-rproc 4a334000.pru: PRU rproc node /ocp/interconnect@4a000000/segment@0/target-module@300000/pruss@0/pru@34000 probed successfully
[   11.074751] remoteproc remoteproc2: 4a338000.pru is available
[   11.074891] pru-rproc 4a338000.pru: PRU rproc node /ocp/interconnect@4a000000/segment@0/target-module@300000/pruss@0/pru@38000 probed successfully
dmesg | grep pinctrl-single
[    1.762133] pinctrl-single 44e10800.pinmux: 142 pins, size 568
dmesg | grep gpio-of-helper
[    1.776892] gpio-of-helper ocp:cape-universal: ready
END

谁有想法?

谢谢 朱

【问题讨论】:

    标签: beagleboneblack adc debian-buster


    【解决方案1】:

    我想你是用 SD 卡启动的吧?

    ...

    嗯,您在 SD 卡和 eMMC 上有两个不同版本的 uboot。 eMMC 在启动时保留在 SD 卡上以用于 uboot。

    如果可以并且不介意丢失 eMMC 上的数据,您可以擦除 eMMC 的数据或在通电约 5 秒的同时按下 S2/Boot 按钮。

    另外,我认为芯片上的 ADC 线路在启动时已经通电。我认为您不需要 ADC 的覆盖。请让我知道这是否适合您。

    【讨论】:

    • 当您使用 5.4.x 而不是 4.19.x 时,我还会卸载/评论 pru 4.19.x 叠加层。
    • 我用 dd if=/dev/zero of=/dev/mmcblk1 bs=1024 count=1024 清理了 eMMC 引导分区 如果我通过取消注释 disable_uboot_overlay_adc=1 禁用了 adc 覆盖,我禁用了 pru 覆盖我没有得到 /sys/bus/iio/devices/iio:device0 文件夹
    • 但资源暂时不可用
    • 我认为主板使用的当前内核是 4.19.x 而不是 5.4.x。如果您只是使用 5.4.x 内核进行测试,可以。但是...我会改用 4.19.x 内核,即因为事情只适用于该内核。 bbb.io/latest-images 有一个 2020-04-06 dogtag。
    • 好的,谢谢,我会尝试使用 4.19.x 内核。