天嵌 ARM开发社区

 找回密码
 注册
查看: 2512|回复: 4

使用TQ3358开发板,LINUX中通过ioremap读取芯片寄存器的值速度巨慢

[复制链接]
zyf_hit 发表于 2013-10-16 12:17:25 | 显示全部楼层 |阅读模式
LINUX中通过ioremap读取芯片寄存器的值为什么远远比写寄存器的值慢(读:130ns,写几ns)
这是为什么呢?我是拿示波器测得

天嵌技术支持01 发表于 2013-10-16 14:08:26 | 显示全部楼层
测试方式?如何测试的?
天嵌技术支持01 发表于 2013-10-16 14:08:52 | 显示全部楼层
测试截图?
 楼主| zyf_hit 发表于 2013-10-16 22:44:35 | 显示全部楼层
天嵌技术支持01 发表于 2013-10-16 14:08
测试截图?

我通过在uboot里直接写寄存器地址的测试,和linux内核下,读通过ioremap重映射的地址,
并且比较两者.o文件的反汇编一致(仅是lrd和str的地址不同)
比较两者,uboot下,写寄存器的速度和读寄存器的速度是相当的
在内核中,写寄存器的速度相当于寄存器速度的5倍左右
现在我需要在内核状态下,一种机制:直接写物理地址。有这样的“后门”吗?
 楼主| zyf_hit 发表于 2013-10-16 22:46:47 | 显示全部楼层
天嵌技术支持01 发表于 2013-10-16 14:08
测试截图?

测试截图今天没拿回来。测试是通过while(1)里拉高io,读寄存器,拉低io。
然后用示波器来测波形
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-26 18:01 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表