打印

关于ARM启动代码的疑惑

[复制链接]
1970|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
getmore|  楼主 | 2010-3-18 15:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人最近刚开始时学习ARM,正在研究ARM的启动代码。按照《深入浅出ARM7--LPC123x/LPC214x》上写的。在ARM的启动代码startup.s中,堆栈的数据段在startup.s中定义,并通过分散加载文件来实现定位。我想问的是,书中的定位文件mem_a.scf、mem_b.scf、mem_c.scf是自己写的,还是ADS软件自动产生的?如果是自动产生的,那么对应的RelInFLASH、DebugInARM、DebugInARM是怎么实现的。是通过在ADS软件中配置选项中选择后实现的吗?

不知道哪位高人解决我的困惑。谢谢!!!

相关帖子

沙发
xinzha| | 2010-3-18 15:50 | 只看该作者
scf文件要根据自己系统的memory配置状况自己来写,ads自动的只能是从零地址开始的连续地址。
不清楚RelInFLASH、DebugInARM、DebugInARM这些的含义,我猜就是修改你链接时使用的scf文件,选择不同的scf文件,实现不一样的代码数据地址分配。
在链接器命令行中加入--scatter=mem_a.scf这样的语法来实现不同scf文件的选择

使用特权

评论回复
板凳
不懂ARM| | 2010-3-24 20:18 | 只看该作者
楼上的说得不错RelInFLASH、DebugInARM、DebugInARM这些的含义就是你链接时使用的scf文件,选择不同的scf文件,实现不一样的代码数据地址分配.

使用特权

评论回复
地板
纳米小芯| | 2010-3-26 14:18 | 只看该作者
ARM开发板大比拼!!!!

我们的NewMsg-ARM开发板彻底打破行业ARM开发板的三大毛病:
1. 太监板、残废板 我们的开发板核心模块是所有GPIO引出,而其他厂总是或多或少没有引出全部GPIO,所以说市面上诞生了太多的太监板和残废板
2. 聋哑板          我们的开发板是能无线语音聊天的,其他开发板基本处于聋哑状态
3. 雄厚的研发实力,近30人研发团队,以2周每款ARM开发板的速度推出新产品,这在中国的ARM开发史上是史无前例的,也是极具侵略性的!!!

    想踏入嵌入式行业的您,也许你手上已经有了一款ARM开发板,但是你仔细看看你手中的这款板是否满足你的需要,是否属于我们定义的太监板、残废板、聋哑板的范畴,如果是的话,那么在你需要开发新产品的时候,请选择四肢健全、高竞争力的的NewMsg-ARM核心模块做二次开发!!!谢谢!!!更多信息请访问 www.newmsg.com

官方技术支持论坛: www.newmsg.com/bbs

官方ARM开发QQ群1:23171292

官方ARM开发QQ群2:7750655

使用特权

评论回复
5
niao0311| | 2010-4-13 09:23 | 只看该作者
RelInFLASH0x0000 0000              、DebugInARM        0x4000 0000                  0x8000 0000 是偏外   自己选择的  是地址分的      ,     还有一开始选择CPU信号时候就有区分,  根据存储大小,位置不同选择不同

使用特权

评论回复
6
niao0311| | 2010-4-13 09:30 | 只看该作者
mem_a.scf   是你选择模拟的地址,    如果换电脑,程序保存地址要一样    如e:\北京\fk\src\mem_c.scf
用于编译连接,调试程序选择    ReloutChip     仔细看看书  呵呵

使用特权

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

本版积分规则

14

主题

154

帖子

2

粉丝