您好,我现在通过EMIF接口外扩了一个芯片,需要对其进行快速操作。所以通过profile中的clock工具测试了其执行周期。
但测试中发现,采用step in跳入写函数机器周期数为13,但是采用step over跳过写函数机器周期为57。
开始怀疑是EMIF的写周期过长,CPU要等待,所以连续运行时的机器周期多。按照该思路,修改了EMIF的write setup和write strobe,但是连续写的机器周期仍然为57。
我想问下这是什么原因呢?
期待您的答复,谢谢…
PS;我使用的处理器为VC5509A,软件环境为CCS3.3,仿真器为PCI560.
Hong Lan:
修改了EMIF的write setup和write strobe会影响写周期吗?我觉得可能不影响,所以测出来结果还是一样。我感觉EMIF写周期是由时钟周期决定的?
Feng:
回复 Hong Lan:
谢谢,总算有人回复了:)
我的意思是:假设CPU通过EMIF接口对一个慢速设备写数据,CPU写如EMIF外设后,就去执行其他操作了;而由EMIF根据设定的write setup和write strobe对慢速设备执行写时序操作。倘若EMIF写数据的周期过长,CPU执行写操作的频率就不能过快。因而要提高写速度,首先应当减小EMIF写时序的时间,即修改write setup和write strobe。
开始是这样理解的:CPU通过执行空指令来等待EMIF写操作完成,然后再去执行其他操作。所以才想到减小write setup和write strobe,以减小CPU等待的时间。正如您所说,CPU向EMIF写数据机器周期应当是和write setup和write strobe无关的。
既然不是这个原因,那为何连续运行测得的机器周期要比单步运行多呢?连续运行和单步运行有什么不同吗?
另外,能否给我一个您的联系方式。积攒了很多问题,苦于一直无人解答。我的邮箱是:fengguojin@gmail.com
非常谢谢…
Feng:
回复 Hong Lan:
又实验了下,应该就是CPU在等待写入数据结束的缘故。
谢谢您的建议,后面将修改为DMA来写入数据。