关于内核中物理地址的引用问题

发布于 2022-09-19 02:16:02 字数 370 浏览 13 评论 9

最近改一个SD卡驱动,连接的是ssp总线。
看原版代码时,发现一个问题:
ssp总线的控制寄存器操作的时候直接是用的物理地址
列:
#define  ssp_writew(addr,value)      ((*(volatile unsigned int *)(addr)) = (value))

ssp_writew(SSP_CR1,0);

SSP_CR1是SSP控制器中的一个寄存器的物理地址,未经ioremap映射的

各位,不是说物理地址必须要隐射后才能操作的赛?怎么回事?此总线配置能正确的工作。

再次请教各位大虾了哈

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

帅冕 2022-09-20 03:30:32

为这段IO内存建立页表的时候,使得物理地址和逻辑地址重合。操作物理地址和操作逻辑地址就没有什么区别。

2022-09-20 03:30:21

回复 8# accessory

    呵呵,还是谢谢你了,这个问题先放一下了

时光是把杀猪刀 2022-09-20 03:26:20

在 X86下,MMU的分页也是可以关闭的,在实模式下可以直接访问物理地址。

ARM不清楚是否有类似的地方。

生生不灭 2022-09-20 03:25:49

回复 5# accessory
处理器是ARM926ejs,这款CPU是带了MMU的,所以这样直接引用物理地址应该是不得行的吧,本人才疏学浅,望大家指教。

醉梦枕江山 2022-09-20 03:23:02

有可能是你自己配置了ssp_writew()吧

毁虫ゝ 2022-09-20 03:00:53

什么体系结构? X86?

请尽量把环境描述清楚.谢谢.

贪恋 2022-09-20 02:35:41

ssp_writew()是不是封装过?

唔猫 2022-09-20 01:40:58

回复 2# snail_314

    呵呵,这还是能够确定的,我用的是linux不是uClinux

菩提树下叶撕阳。 2022-09-19 07:30:33

你确定你用的是Linux而不是uClinux?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文