TI中文支持网
TI专业的中文技术问题搜集分享网站

pru能访问335x的哪些模块?

我修改了CCS里面AM335X_PRU.CMD文件(图1),使timer2改为timer5,在验证过程中,先在linux复位timer5,复位完毕,读取timer5寄存器;

再通过pru读取timer5寄存器,发现两者不一致。请问一下,pru能否访问timer5或不在下图(图2)列举的模块吗? 

                                                                                              图1

                                                                           图2

Nancy Wang:

你可以在连接PRU的情况下读写timer5吗?可以的话就是能访问。但是我看表格中是没有列出来的,我会在找一下其他地方有没有列出来。

yongqing wang:

参考这个帖子看看:blog.csdn.net/…/86519356

Nancy Wang:

请查看TRM的4.3.1.2章节。
The PRU accesses the external Host memory map through the Interface/OCP Master port (SystemOCP_HP0/1) starting at address 0x0008_0000.

jianhui alvin:

回复 Nancy Wang:

我可以通过pru访问Timer2,但不能访问其他Timer,如Timer7,Timer5;哪怕把AM335X_PRU.CMD改了,也只能访问Timer2

Nancy Wang:

回复 jianhui alvin:

参考这个步骤:
1、使能OCP master port
/* Allow OCP master port access by the PRU so the PRU can read external memories */
CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;

2、#define DMTIMER5(*((volatile unsigned int *)0x48046000))
main(void){//
}

3、AM335X_PRU.CMD包含了“constant table”,在技术参考手册的PRU-ICSS章节中可以找到。唯一可以修改的是24-31,而且它们只是部分可编程的。如果从PRU访问dmtimer5,需要手动定义寄存器地址,而不是使用constant table。

jianhui alvin:

回复 Nancy Wang:

十分感谢!我去看看并测试一下。

赞(0)
未经允许不得转载:TI中文支持网 » pru能访问335x的哪些模块?
分享到: 更多 (0)