初看ARM,提问,希望大家多多回复支持别笑我菜:)

[复制链接]
3361|9
 楼主| ilovemysel 发表于 2007-10-31 20:43 | 显示全部楼层 |阅读模式
今天按照书上,写了段arm汇编代码.<br />在ADS1.2下设置-R0(默认)从0x80000000开始,<br />然后用AXD仿真调试的时候,我看PC值是0x80000000开始的<br />&lt疑问1&gt:程序不都是存储在FLASH中,怎么可以跑到0x80000000开始呢,<br />我看资料0x80000000开始的位置是属于外部存储器的,也就是说程序<br />存储到外部存储器去了?<br /><br />另外我在ADS1.2下设置-R0从0x00000000开始,<br />同样用AXD软件仿真,观察CPSR下的PC,也是从0x00000000开始的,<br />然后单步运行,PC=0x00000004<br />&lt疑问2&gt:我看资料,0x0000004是属于中断入口地址,那么程序刚单步就<br />跑到中断入口那边去了?<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />等大家回复...<br />
wishcom 发表于 2007-10-31 21:28 | 显示全部楼层

仿真与真实情况有差别的

AXD在把程序加载进区后PC会自动跳转到程序的入口点处。<br />真实的ARM芯片(ARM7为例)一般在0x0地址处是中断向量表的起始地址,换句话讲:开机后,程序会从0x0开始运行。<br /><br />关于程序入口点:<br />如果程序编译时指定了&nbsp;-entry参数,则也就指定了入口点<br />如果程序编译时没有指定-entry参数,则程序中汇编的伪指令“ENTRY”处就是程序入口点<br />如果程序编译时没有指定-entry参数,且汇编中伪指令“ENTRY”有多个,则会报错。<br />每一个汇编文件中最多只能有一个汇编中伪指令“ENTRY”<br /><br />关于中断向量表:<br />首先复位中断是在0地址的,那么0地址的指令就是由用户自己写的,通常写法是一个跳转命令如:b&nbsp;reset_handler&nbsp;或者&nbsp;ldr&nbsp;pc,&nbsp;=reset_handler<br />如果把ARM当成单片机用,你也可以不写跳转指令,直接将程序从头写到尾,这样写的前提就是你不能用中断。<br /><br />建议:<br />1.有了一定了解后买一块开发板,如果嫌贵,可以买ARM7的。虽然ARM7不能跑WinCE,Linux等强大的操作系统,但是我可以大言不惭的说一句:如果你能用ARM7写出自己的操作系统,那么你绝对比那些整天只知道移植的人NB.<br />2.需要了解ARM程序到底是如何运行的(ARM程序运行机制),强烈建议学习bootloader,不要听信所谓的“现在的芯片都自带bootloader了”,要知道:有些知识永远不会过时。君不见现在x86汇编的学习仍然还是以086为原型机的。<br />3.对于ARM9,如果你的ARM7知识过关,那么到ARM9上边不过是类似于盛饭的东西从碗换成了盘子一样,几乎没什么变化,仅仅需要多了解一点MMU相关知识即可,而以前的ARM7的知识都可以继续使用。<br /><br />一时兴起,多言了。。。
HWM 发表于 2007-11-1 08:27 | 显示全部楼层

楼上所言正中要的。

  
桂电飞天鼠 发表于 2007-11-4 00:59 | 显示全部楼层

学习了!谢谢分享!

  
zhengjily 发表于 2007-11-16 17:02 | 显示全部楼层

建议不错

Ice_River 发表于 2007-11-16 17:54 | 显示全部楼层

小疑问!

学习中,有个小疑问<br />如果把ARM当成单片机用,你也可以不写跳转指令,直接将程序从头写到尾,这样写的前提就是你不能用中断!<br />可以使用向量中断吧?<br />
computer00 发表于 2007-12-21 00:13 | 显示全部楼层

哈哈~~~2楼的是个ARM高手~~~~~

  
qihao 发表于 2007-12-22 01:47 | 显示全部楼层

初看ARM,提问,希望大家多多回复支持别笑我菜:)

  
Ice_River 发表于 2007-12-24 17:17 | 显示全部楼层

看过,学过,走过!佩服了!

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

17

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部