目前准备在UBOOT阶段开始喂狗操作,想裸板输出pwm波,遇到以下几个问题:
(1)初始化时,对于pwmss的时钟使能,我目前是在CM_PER中使能了,不知道是否有问题?
(2)在写ecap2的ECCTL2寄存器时,不能写,上面明确表示可读写,但我进行写操作时,不成功,从而导致整个PWM波不能输出
(3)整个初始化的过程是怎样的?
大家可以交流交流,谢谢
Shine:
请问使用的是哪款器件?”裸板“是指代码不基于操作系统吗?
Jie Li24:
回复 Shine:
谢谢你的回答
用的是am3352,我目前是在系统中,利用驱动测试在uboot阶段是否可行,也就是说,我想看下整个操作寄存器的过程是否能够产生PWM波,我用的是PWMSS2下的ecap2来进行,在驱动中我是利用ioremap来操作寄存器,但在操作ECCTL2时,发现写寄存器总是失败
Shine:
回复 Jie Li24:
请问是否有初始化ecap模块的时钟树? 通常访问一个普通的寄存器出错,常见的原因是忘了初始化该模块的时钟树,直接去操作模块本身了。
Jie Li24:
回复 Shine:
谢谢你的回答
请问一下如何初始化ecap2模块时钟树?,目前我使能了CM_PER_EPWMSS2_CLKCTRL和pwmss_ctrl,这里的两个地方,对这个时钟使能不是特别懂,能再讲的详细一点吗?我参照了数据手册上面的p2421上面的初始化过程,但在操作ECCTL2时,不成功
Jie Li24:
回复 Shine:
这里是关于pwmss子系统的时钟描述,就一个时钟,然后我再
这里将其使能了,你看下对不对?
Eggsy Pang:
回复 Jie Li24:
Core_CLKOUTM4使能了没?
Jie Li24:
回复 Eggsy Pang:
谢谢你的回复
有一个问题不明白,这里的时钟用的是这个,但有很多地方都使用的是这个时钟,我在这里使能,其他模块也使能,那怎么能判断这个时钟到底产生给谁的时钟呢?
还有,我使能这个的寄存器是不是应该是这个寄存器?
Eggsy Pang:
回复 Jie Li24:
这个时钟,我在这里使能,其他模块并不一定也使能啊
每个模块都有自己的时钟使能位,两个地方同时使能,模块时钟才使能,
相当于要开两个开关,两个开关串联
Jie Li24:
回复 Eggsy Pang:
谢谢你的回答
目前貌似明白一点了,明天去试试使能那个时钟看一下能不能成!就怕那个时钟已经被其他模块使能过了!
Jie Li24:
回复 Eggsy Pang:
你好,我测试了一下,我再这里读取到时钟已经打开
然后结果还是跟以前一样,
这里其他的寄存器都能正常的写入,唯独只有ECCTL2时,写入总是不行,时钟我感觉该使能的我也都使能了