无法找出 BeagleBone Green Wireless 的 PWM 覆盖
Cannot Figure Out PWM Overlay for BeagleBone Green Wireless
我是 BeagleBone Green Wireless (BBGW) 的新手。我刚读了 Derek Molloy 的 Exploring BeagleBone。读得很好,但是,BBGW 有 Linux 4.4.9-ti-r25,一切都大不相同。 Linux 4.4.9 不再有设备树源。只有设备树覆盖 (.dto)。我正在尝试使用 PWM 进行试验。我加载了在 /lib/firmware
中找到的 am33xx_pwm-00A0.dtbo
和 BB-PWM1-00A0.dtbo
叠加层。我认为这些是 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 属性的位置。 Malloy 说他们在 /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
如果有人知道有帮助的好文档。
我知道你说你快要解决它了,但我让它工作了..
内核:4.4.30-ti-r64
发行版:Debian 8.6 Jessie
现在加载 PWM 覆盖...
我的发行版来自 RCN,并附带预填充在我的 /lib/firmware/ 文件夹中的叠加层。如果您有叠加层,请继续执行第 4 步,如果没有,请继续执行第 2 步。
apt-get 更新
sudo apt 安装 bb-cape-overlays
将叠加层加载到 cape 管理器中:
echo BB-PWM1 > /sys/devices/platform/bone_capemgr/slots
通过做两件事确保叠加层正确加载:
首先确保它在capemanager中:
猫/sys/devices/platform/bone_capemgr/slots
输出:
0: PF-----1
1: PF-----1
2: PF-----1
3: PF-----1
4: P-O-L- 0 Override Board Name,00A0,Override Manuf,BB-PWM1
第二个是确保引脚正确复用以执行此操作:
cd /sys/kernel/debug/pinctrl/44e10800.pinmux
更多图钉 | grep 848
输出应该与此类似:
pin 18 (44e10848.0) 00000006 pinctrl-single
您可以查看叠加层以更深入地了解正在发生的事情,但这有点超出了这个问题的范围。
如果您没有看到 00000006 输出。不要继续。重新启动 BB,然后重试。这发生在我身上,重启解决了问题
因此,BB 现在已准备好进行 PWM。
- cd /sys/class/pwm
- cd pwmchip0
- 回显 0 > 导出
- cd pwm0
- 回声 1000000000 > 句号
- 回显 800000000 > duty_cycle
- 回显 1 > 启用
哒哒。它应该工作。很抱歉回复冗长。我想彻底。
我遵循了教程:http://www.teachmemicro.com/beaglebone-black-pwm-ubuntu-device-tree/
编辑:
这是为 P9_14
设置 PWM
我是 BeagleBone Green Wireless (BBGW) 的新手。我刚读了 Derek Molloy 的 Exploring BeagleBone。读得很好,但是,BBGW 有 Linux 4.4.9-ti-r25,一切都大不相同。 Linux 4.4.9 不再有设备树源。只有设备树覆盖 (.dto)。我正在尝试使用 PWM 进行试验。我加载了在 /lib/firmware
中找到的 am33xx_pwm-00A0.dtbo
和 BB-PWM1-00A0.dtbo
叠加层。我认为这些是 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 属性的位置。 Malloy 说他们在 /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
如果有人知道有帮助的好文档。
我知道你说你快要解决它了,但我让它工作了..
内核:4.4.30-ti-r64
发行版:Debian 8.6 Jessie
现在加载 PWM 覆盖...
我的发行版来自 RCN,并附带预填充在我的 /lib/firmware/ 文件夹中的叠加层。如果您有叠加层,请继续执行第 4 步,如果没有,请继续执行第 2 步。
apt-get 更新
sudo apt 安装 bb-cape-overlays
将叠加层加载到 cape 管理器中:
echo BB-PWM1 > /sys/devices/platform/bone_capemgr/slots
通过做两件事确保叠加层正确加载:
首先确保它在capemanager中:
猫/sys/devices/platform/bone_capemgr/slots
输出:
0: PF-----1
1: PF-----1
2: PF-----1
3: PF-----1
4: P-O-L- 0 Override Board Name,00A0,Override Manuf,BB-PWM1
第二个是确保引脚正确复用以执行此操作:
cd /sys/kernel/debug/pinctrl/44e10800.pinmux
更多图钉 | grep 848
输出应该与此类似:
pin 18 (44e10848.0) 00000006 pinctrl-single
您可以查看叠加层以更深入地了解正在发生的事情,但这有点超出了这个问题的范围。
如果您没有看到 00000006 输出。不要继续。重新启动 BB,然后重试。这发生在我身上,重启解决了问题
因此,BB 现在已准备好进行 PWM。
- cd /sys/class/pwm
- cd pwmchip0
- 回显 0 > 导出
- cd pwm0
- 回声 1000000000 > 句号
- 回显 800000000 > duty_cycle
- 回显 1 > 启用
哒哒。它应该工作。很抱歉回复冗长。我想彻底。
我遵循了教程:http://www.teachmemicro.com/beaglebone-black-pwm-ubuntu-device-tree/
编辑: 这是为 P9_14
设置 PWM