毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> linux >> 正文

burst读操作读不了word

更新时间:2012-7-24:  来源:毕业论文

我们采用omap的GPMC总线通信方式,异步的单个字读写没有问题,但是burst(一次可以读写多个word)模式问题来了

时序上是我在进行读操作的时候,从设备会根据CLK发送16个word
单个word读是:
memcpy((BasicAddress[inValue->baseCs]+inValue->Paddress),inValue->value,sizeof(WORD));
或者
*(BasicAddress[inValue->baseCs]+inValue->Paddress)=*inValue->value;

这16个我就没法读了
因为memcpy多个字符相当是多个*a=*b,一个(*a=*b)就是一个读操作,burst一次读16个word,倘若a的类型是(16*16bit),那也就一个读就OK了,
可是Ce最长的类型才32BIT。

不知道有没人知道什么方法可行,我很纠结。

类型定义的最原始地方在哪里,有没有可以把16个word当作一个单位来定义

burst 操作对于软件是透明的 你不需要真的一次读写16word 还是保持你原来代码即可
你的软件读一个word,cpu就产生burst 读 ,可以一次性读取多个byte,这16个word都存在cache里,如果你下次访问的是这16个word里的一个,就能直接从cache里读到了。这时候就体现出burst 的优势了。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.com 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。