联咏PWM调试

参考联咏的文档配置PWM步骤,,

板子上的PWM使用C19/C20/L0 3组,

查top.h可得对应pinmux为pwm 0x4200000 , pwm2 0x20000000

so,,

echo pwm  0x4200000  > /proc/nvt_info/nvt_pinmux/pinmux_set
echo pwm2 0x20000000 > /proc/nvt_info/nvt_pinmux/pinmux_set

 

 

---------------------------

dts里面开启k_drv的pwm

 

nvt_pwm是走/sys/class/pwm那套通用linux框架的,选这个的话,需要开启内核的下面的配置,,个人猜测,没有尝试

nvt_kdrv_pwm是走联咏自己的框架的

开启后,会有/proc/pwm的目录,,,

 

我这边选择了联咏的框架,即kdrv的

 

编译烧写后,3组PWM都配成50%占空比(15/30)

 

 命令没有任何报错,,但是示波器量了3组PWM都OK,,,

 

 

------------------------------------------------------------------------

另外,pinmux_set配错的话,,PWM相关寄存器也会出问题,,下面是寄存器相关的,,一开始pinmux配错了,,,

C19 / C20对应0xa0

 

 

 C20,C19都为GPIO,,,改为普通功能

 

 同理L0

 

 

 

接着查看对应引脚功能,

C19对应PWM8

 

 

 

 16-18为0,,改成2

 

posted on 2022-04-12 10:24  轉角忆  阅读(350)  评论(0)    收藏  举报