我是BeagleBone Green Wireless(BBGW)的新手。我刚看了Derek Molloy的探索BeagleBone 。非常好读,BBGW有Linux 4.4.9-ti-r25,一切都很不一样。 Linux 4.4.9不再具有设备树源。只需要设备树覆盖(.dto)。我正在尝试使用PWM。我加载了am33xx_pwm-00A0.dtbo
中找到的BB-PWM1-00A0.dtbo
和/lib/firmware
叠加层。我认为这些是PWM1的默认覆盖,但不确定。
export SLOTS=/sys/devices/platform/bone_capemgr/slots
export PINS=/sys/kernel/debug/pinctrl/44e10800.pinmux/pins
sudo sh -c "echo am33xx_pwm > $SLOTS"
sudo sh -c "echo BB-PWM1 > $SLOTS"
它们似乎正确加载,
root@beaglebone:/lib/firmware# cat $SLOTS
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
5: P-O-L- 0 Override Board Name,00A0,Override Manuf,am33xx_pwm
7: P-O-L- 1 Override Board Name,00A0,Override Manuf,BB-PWM1
但是,我无法找到访问PWM1属性的位置。马洛伊说他们在,/sys/devices/ocp.3/pwm_test_p9_22.15
。我找不到那个目录,而我能找到的最近的目录是/sys/devices/platform/ocp/
。有几种设备,但没有关于PWM1。哪里可以找到PWM1属性的位置?我想使用此示例使用echo
命令更改它们,
sudo su
echo 5000 > duty
echo 10000 > period
echo 1 > run
如果有人知道一份有用的好文件。
答案 0 :(得分:1)
我知道你说你已经接近解决它,但我得到了它的工作......
内核:4.4.30-ti-r64
Distro:Debian 8.6 Jessie
现在加载PWM覆盖...
我的发行版来自RCN,附带预先填充在我的/ lib / firmware /文件夹中的叠加层。如果你有叠加层,那么继续执行步骤4,如果不是第2步。
apt-get update
将叠加层加载到开普管理器中:
<回声BB-PWM1&gt; / SYS /设备/平台/ bone_capemgr /槽首先确保它在capemanager中:
cat / sys / devices / platform / bone_capemgr / slots
输出:
0:PF ---- -1
1:PF ---- -1
2:PF ---- -1
3:PF ---- -1
4:P-O-L- 0覆盖板名称,00A0,覆盖制造,BB-PWM1
第二个是确保引脚正确复用以执行此操作:
cd /sys/kernel/debug/pinctrl/44e10800.pinmux
更多针脚| grep 848
输出应该类似于:
pin 18(44e10848.0)00000006 pinctrl-single
您可以查看叠加层以更深入地了解正在发生的事情,但这有点超出了这个问题的范围。
如果您没有看到00000006输出。不要继续重新启动BB并再试一次。这发生在我身上,重新启动解决了这个问题
因此,BB现在已准备好进行PWM。
的Ta-DA。它应该工作。很抱歉这个冗长的回复。我想彻底。
我按照教程:http://www.teachmemicro.com/beaglebone-black-pwm-ubuntu-device-tree/
编辑: 这用于设置P9_14的PWM