使用TQ3358开发板,LINUX中通过ioremap读取芯片寄存器的值速度巨慢
LINUX中通过ioremap读取芯片寄存器的值为什么远远比写寄存器的值慢(读:130ns,写几ns)
这是为什么呢?我是拿示波器测得
测试方式?如何测试的? 测试截图? 天嵌技术支持01 发表于 2013-10-16 14:08 static/image/common/back.gif
测试截图?
我通过在uboot里直接写寄存器地址的测试,和linux内核下,读通过ioremap重映射的地址,
并且比较两者.o文件的反汇编一致(仅是lrd和str的地址不同)
比较两者,uboot下,写寄存器的速度和读寄存器的速度是相当的
在内核中,写寄存器的速度相当于寄存器速度的5倍左右
现在我需要在内核状态下,一种机制:直接写物理地址。有这样的“后门”吗? 天嵌技术支持01 发表于 2013-10-16 14:08 static/image/common/back.gif
测试截图?
测试截图今天没拿回来。测试是通过while(1)里拉高io,读寄存器,拉低io。
然后用示波器来测波形
页:
[1]