在使用C6748中的PRU时遇到如下问题:
问题一:TI的文档中PRU的LBBO指令和LBCO指令的CPI都是1+WdCnt(VBUS)/2+WdCnt(VBUSP),这里的VBUS和VBUSP是什么意思?
问题二描述如下:
我用下面代码进行测试:
#define SOC_TIMER2_REGS (0x01F0C000)
#define TIMER12 (0x10)
MOV r2, SOC_TIMER2_REGS + TIMER12
//分别获取Timer2的Count值放入r4和r5
LBBO r4, r2, 0, 4
LBBO r5, r2, 0, 4
//将r4和r5中的数据放入DataRam中
SBCO r4, c3, 0x00, 0x04
SBCO r4, c3, 0x04, 0x04
将两组数据打印出来,两组数据差为16,即耗时16个时钟周期,貌似与文档中的描述不一致,指令LBBO需要的指令周期到底是多少?我的测试是否有问题?
指令MOV、CALL执行需要的时钟周期是多少?
麻烦各位大神帮忙解答下,谢谢!!
Denny%20Yang99373:
访问不同内存指令周期不一样,DATARAM在哪里?
user5880776:
回复 Denny%20Yang99373:
我这个测试是使用LBBO指令获取Time2的TIM12中数据,然后使用SCBO指令将数据放到C3中,手册中说LBBO指令执行周期为 1+WdCnt(VBUS)/2+WdCnd(VBUSP),但我两次使用LBBO获得数据并进行做差处理,差值为16,不应该是1吗?还有这个VBUS和VBUSP是什么意思?