beaglebone black adc“in_voltageX_raw':资源暂时不可用”

问题描述

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

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

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

uname -a Linux beaglebone 5.4.38-ti-r8 #1buster SMP PREEMPT 周六 5 月 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

有人有想法吗?

谢谢 鞠

解决方法

我认为您使用的是 SD 卡启动,对吗?

...

好吧,您在 SD 卡和 eMMC 上有两个不同版本的 uboot。 eMMC 在启动时保持在 SD 卡上以供 uboot 使用。

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

另外,我认为芯片上的 ADC 线路在启动时已经通电了。我认为您不需要 ADC 的叠加层。如果这对您有用,请告诉我。