红联Linux门户
Linux帮助

请教ioremap问题

发布时间:2006-11-06 12:08:33来源:红联作者:ldhhello
我用at91rm9200外挂一块fpga,它的读写速度最快能达到多少呢?

u32 p;

p=ioremap(test_add1,2);

*(volatile unsigned short *)p=0x22;

p=ioremap(test_add2,2);

*(volatile unsigned short *)p=0x33;



写这两个地址的时候 cs有效的时间(低电平)为220ns,两个之间间隔为175us,这样太慢了,
我刚刚又测试了一下,如果
u32 p;
p=ioremap(test_add1,2);

*(volatile unsigned short *)p=0x22;

p=ioremap(test_add2,2);

*(volatile unsigned short *)p=0x33;

两次之间间隔为172us,但是如果
p=ioremap(test_addr,1024);
for(i=0;i<1024;i++)
{
*(volatile unsigned short*)p=i
p++;
}
整个时间只要220us,这是怎么回事呢?

感觉都是一样的写呀,为什么会有这么大的差别呢?会不会是ioremap占用太多时间?

还请大家帮忙提出解决方法,谢谢了!!~~
文章评论

共有 0 条评论