【问题标题】:Cannot Figure Out PWM Overlay for BeagleBone Green Wireless无法确定 BeagleBone Green Wireless 的 PWM 覆盖
【发布时间】:2017-04-06 20:32:59
【问题描述】:

我是 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 属性的位置。马洛伊说他们在,/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

如果有人知道一份好的文档也会有所帮助。

【问题讨论】:

标签: linux-kernel beagleboard device-tree


【解决方案1】:

我知道你说你已经接近解决它但我得到了它的工作..

内核:4.4.30-ti-r64

发行版:Debian 8.6 Jessie

现在加载 PWM 叠加层...

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

  2. apt-get 更新

  3. sudo apt install bb-cape-overlays

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

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

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

首先确保它在 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 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. echo 0 > 导出
  4. cd pwm0
  5. echo 1000000000 > 周期
  6. echo 800000000 > duty_cycle
  7. echo 1 > 启用

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

我按照教程操作:http://www.teachmemicro.com/beaglebone-black-pwm-ubuntu-device-tree/

编辑: 这是为 P9_14 设置 PWM

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 2018-12-05
    相关资源
    最近更新 更多