无法找出BeagleBone绿色无线的PWM覆盖

时间:2017-04-06 20:33:00

标签: linux-kernel beagleboard device-tree

我是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

如果有人知道一份有用的好文件。

1 个答案:

答案 0 :(得分:1)

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

内核:4.4.30-ti-r64

Distro:Debian 8.6 Jessie

现在加载PWM覆盖...

  1. 我的发行版来自RCN,附带预先填充在我的/ lib / firmware /文件夹中的叠加层。如果你有叠加层,那么继续执行步骤4,如果不是第2步。

  2. apt-get update

  3. sudo apt install bb-cape-overlays
  4. 将叠加层加载到开普管理器中:

    <回声BB-PWM1&gt; / SYS /设备/平台/ bone_capemgr /槽

  5. 通过执行以下两项操作确保正确加载叠加层:
  6. 首先确保它在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。

    1. cd / sys / class / pwm
    2. cd pwmchip0
    3. echo 0&gt;出口
    4. cd pwm0
    5. echo 1000000000&gt;期
    6. echo 800000000&gt; DUTY_CYCLE
    7. echo 1&gt;使
    8. 的Ta-DA。它应该工作。很抱歉这个冗长的回复。我想彻底。

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

      编辑: 这用于设置P9_14的PWM