在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 3170|回复: 2

求助:ARM9总线问题

[复制链接]
发表于 2008-8-15 17:13:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位高手,最近我接触了Arm9系列,有一个问题一直搞不明白。因为以前接触的都是冯氏结构,程序和数据共用一条总线,所以在存储器管理上不需要分开。  
       可是ARM9有些是哈佛结构的,数据和程序分成两条总线,所以我不明白存储器是怎样的?数据和程序存放是分开的吗?可是例如程序堆栈这些如何处理呢?还有ARM在编译传送32位立即数指令的时候会将这条立即数写到程序空间中,然后去寻址访问,这样编译出来运行的时候实际上是去读取数据存储区,从而导致出错。
       说的很乱,请高手指教。
发表于 2008-8-22 11:32:00 | 显示全部楼层
地址线和数据线分开,存储器也未必要分开吧?
程序的堆栈地址是链接时指定的,跟这个有什么关系?
能不能写跟处在程序空间和数据空间无关,只在于这个地址是否可写
发表于 2008-8-23 17:07:53 | 显示全部楼层
ARM9处理器通常都带有多种存储器控制器(如SDRAM,DDRAM,NAND/NOR FLASH等)虽然它们的数据线或地址线在外部可能是分开的,但都是从内部的ABH总线接出来的,并且所有的存储器都是统一编址的。通宵ARM9都是在RAM里运行程序(有些可能会直接在NOR FLASH里运行但速度太慢),ARM9启动的时候选运行bootload程序,将操作系统和用户代码从FLASH里拷备到RAM里去运行,实际上跟我们的PC机启动过程是一样的,你的堆栈和变量的编译器在编译的时候就确定了,跟存储器没关系。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 03:12 , Processed in 0.028802 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表