查看: 616|回复: 0

【飞凌iMX6ULL 开发板测评】 OKMX6ULL-C 开发板测评(四)

[复制链接]
  • TA的每日心情
    开心
    2022-6-24 11:14
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2022-7-26 17:15:23 | 显示全部楼层 |阅读模式
    分享到:
    【飞凌iMX6ULL 开发板测评】 OKMX6ULL-C 开发板测评(
    有朋友反馈上次那篇GPIO复用操作比较繁琐,这次调试一个功能比较简单的程序:
    增加 PWM3
    需要注意的是操作过程中
    1、在增加IO的时候选错了IO口需要结合实物和电路图才容易选对图,很多工程师都是一拿到历程就一股脑的灌进去,很多很基础的细节都没确认,导致调试不顺利。所以细节是对于工程师来说很关键的。
    2、调试过程中需要用的示波器等仪器也需要很熟悉。这样调试起来才得心应手。
    如下是调试过程,请参考:
    CPU 默认可输出 8 PWM,默认背光采用的为 PWM1,增加 GPIO1_IO04 复用为 PWM3,并输
    2.4K 的方波。
    驱动默认已经加载,驱动路径为 drivers/pwm/pwm-imx.c
    修改顶层设备树文件 imx6ull.dtsi,主要是修改时钟源
    pwm3: pwm@02088000 {
    compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
    reg = <0x02088000 0x4000>;
    interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&clks IMX6UL_CLK_DUMMY>,
    <&clks IMX6UL_CLK_DUMMY>;
    clock-names = "ipg", "per";
    #pwm-cells = <2>;
    };
    pwm3: pwm@02088000 {
    compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
    reg = <0x02088000 0x4000>;
    interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&clks IMX6UL_CLK_PWM3>,
    <&clks IMX6UL_CLK_PWM3>;
    clock-names = "ipg", "per";
    #pwm-cells = <2>;
    };
    在设备树文件 imx6ull-14x14-evk.dts 中添加:
    &pwm3 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_pwm3>;
    status = "okay";
    };
    Iomux 中添加节点:
    pinctrl_pwm3: pwm3grp {
    fsl,pins = <
    MX6UL_PAD_GPIO1_IO04__PWM3_OUT 0x110b0
    >;
    }
    并将 GPIO1_IO04 其他复用的地方取消或者注释掉。
    tsc status = “disabled”;
    编译设备树,替换开发板中设备树,并选择此设备树。
    在开发板启动之后,命令行输入:
    root@fl-imx6ull:~# echo 0 > /sys/class/pwm/pwmchip2/export
    root@fl-imx6ull:~# echo 1 >/sys/class/pwm/pwmchip2/pwm0/enable 技术参考手册_应用笔记
    OKMX6ULL-S
    www.forlinx.com
    - 5 -
    root@fl-imx6ull:~# echo 416667 > /sys/class/pwm/pwmchip2/pwm0/period
    root@fl-imx6ull:~# echo 208333 > /sys/class/pwm/pwmchip2/pwm0/duty_cycle
    此时 GPIO1_IO04 输出 2.4K 方波。
    如果输出 1KHz 方波,命令如下:
    root@fl-imx6ull:~# echo 1000000 > /sys/class/pwm/pwmchip2/pwm0/period
    root@fl-imx6ull:~# echo 500000 > /sys/class/pwm/pwmchip2/pwm0/duty_cycle
    测试方法:
    在核心板找到 GPIO1_IO04 引脚,引脚号是 66
    用示波器去量,看 PWM 波的频率
    在飞凌 6ULL-S 的底板中引脚被引导 P16 上的 1 号引脚

    在核心板找到 GPIO1_IO04 引脚,引脚号是 66

    在核心板找到 GPIO1_IO04 引脚,引脚号是 66

    用示波器去量,看 PWM 波的频率

    用示波器去量,看 PWM 波的频率
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-6-1 17:12 , Processed in 0.115867 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.