无法找出 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.dtboBB-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 覆盖...

  1. 我的发行版来自 RCN,并附带预填充在我的 /lib/firmware/ 文件夹中的叠加层。如果您有叠加层,请继续执行第 4 步,如果没有,请继续执行第 2 步。

  2. apt-get 更新

  3. sudo apt 安装 bb-cape-overlays

  4. 将叠加层加载到 cape 管理器中:

    echo BB-PWM1 > /sys/devices/platform/bone_capemgr/slots

  5. 通过做两件事确保叠加层正确加载:

首先确保它在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。

  1. cd /sys/class/pwm
  2. cd pwmchip0
  3. 回显 0 > 导出
  4. cd pwm0
  5. 回声 1000000000 > 句号
  6. 回显 800000000 > duty_cycle
  7. 回显 1 > 启用

哒哒。它应该工作。很抱歉回复冗长。我想彻底。

我遵循了教程:http://www.teachmemicro.com/beaglebone-black-pwm-ubuntu-device-tree/

编辑: 这是为 P9_14

设置 PWM