This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM623:如何从上电到应用程序启动保持 PWM 运行。

Guru**** 2416110 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1533005/am623-how-to-keep-pwm-running-from-power-up-to-start-of-application

器件型号:AM623

工具/软件:

我有一个运行实时 Linux 的定制 AM6234 电路板。  我使用 pwm0 进行启动界面背光控制。  我通过直接写入 evm.c 中的 PWM 控制寄存器来启动 pwm0  启动界面会亮起并显示屏幕、但 Linux 内核引导 pwm0 的一半左右会停止。  我在应用程序中调用它后、它会再次工作。

我需要 pwm0 来从上电开始保持运行、直到应用接管为止。  我无法在器件树中使用 LED 或背光、因为它们只接受固定的硬编码 PWM 设置。  此外、它们不允许您在启动后从应用中更改 PWM 设置。

Pinmux 设置在引导时似乎保持、但我认为 pwm0 计数器寄存器在 Linux 启动时正在复位。

内核器件树中的 PWM 代码片段:

              epwm0:PWM@23000000{

                             兼容=“ti、am64-epwm“、“ti、am3352-ehrpwm“;

                             #pwm-cells =<3>;

                             REG =<0x00 0x23000000 0x00 0x100>;

                             电源域=<&K3_PDS 86 TI_SCI_PD_EXCLUSTED>;

                             Clocks =<&EPWM_TBCLK 0>、<&K3_CLKS 86 0>;

                             时钟名称=“TBCLK",“,"fck"、"fck";“;</s>“

              };

 

              main_epwm0_pins_default:main-epwm0-pins-default{

                             pinctrl-single、pins =<

                                            AM62X_IOPAD (0x204、PIN_OUTPUT、2)/*(AB2) MMC0_DAT4.EHRPWM0_A */

                             >;

 

&epwm0{

              pinctrl-names =“default";“;

              pinctrl-0 =<&MAIN_epwm0_pins_default>;

              状态=“正常“;

};

在应用启动之前、如何使 pwm0 从上电状态保持运行?