打印
[ARM9、LPC]

ARM9的TCM物理地址设置问题

[复制链接]
1620|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liminbo|  楼主 | 2015-11-15 15:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
根据ARM9的技术手册,ARM9的TCM物理地址可以通过CP15进行设置。我目前使用的是海思的ARM9芯片,海思的手册说明,系统上电后其TCM的物理地址映射在0x0地址段;但linux在tcm_init()函数中将TCM的物理地址通过CP15设置为0xfffe0000开头。我将TCM的物理地址修改为0x0后,再访问会遇到空指针错误。
我的问题:
1.TCM的物理地址是随便可以设置的吗?我的理解应该不能随便设置,但为何海思的手册说物理地址为0x0,而Linux又可以设置为0xfffe0000呢?
2.假设TCM的物理地址可以改变,改变地址之后是否需要插入一个IMB呢?
请有经验的朋友帮忙!谢谢!

相关帖子

沙发
阿南| | 2015-11-16 09:04 | 只看该作者
不了解,帮顶

使用特权

评论回复
板凳
liminbo|  楼主 | 2015-11-28 18:49 | 只看该作者
最近一段时间查找一些资料,可以 回答自己的两个问题了:
1.TCM的物理地址可以通过TCM区域寄存器进行设置任意的物理地址,只不过系统将会将对应物理地址的RAM给屏蔽了
2.TCM物理地址重新设置后需要插入一个IMB。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

9

帖子

1

粉丝