打印

没有.s启动代码 如何让程序在开发板上启动

[复制链接]
1954|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
s20080495|  楼主 | 2011-10-17 07:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了个dm9000代码,但是发现不知道怎么让他运行。能不能像单片机一样直接把程序下进去自动运行,不需要启动代码的?
        还是必须的有。s启动代码才能运行程序?
        如果可以直接运行,是不是没有启动代码,没法在axd上运行调试?
        刚接触arm菜鸟一个,大家帮帮忙解答一下。
        我的想法:一般都需要从b reset(ox0)处执行玩reset然后跳到程序所在的地址。能不能不跳转,就像单片机一样,一上电就执行程序(复位也包含在程序中的)。
        主要我不了解ads中的启动代码和主程序是如何下到arm里面运行的过程。是不是启动代码就像bootloader一样下到前4k,而主程序下到指定的entry point?
        
       感觉越来越菜了,大家指点一下吧。

相关帖子

沙发
new1988| | 2011-10-17 21:38 | 只看该作者
用ADS的话,它是不带启动代码的,用keil它会自动生成启动代码。
ARM和单片机是有区别的,特别是在启动代码这一块,我最开始也是在启动代码纠结了蛮久。
CPU上电是从0X0处执行的,所以启动代码须要在这个地方设定几个异常向量,比如复位异常,指令终止异常,IRQ异常,FIQ异常等。就像单片机里面的中断向量,只是单片机中出厂已经设定了,但是ARM得自己设定。你去仔细分析一下KEIL中的启动代码或者别人写的启动代码应该就明白了。
还有S3C2440内置的4K的SRAM你的理解有误,当外部存储器是用NANDFLASH的时候,该4K的SRAM的地址是0x0,CPU会自动把NANDFLASH里面前4K的代码搬运到这里面来,以用作启动代码,而用Norflash的时候,这4K的SRAM的地址是0x40000000可以当做普通的RAM使用。
还有你写的程序具体下载到什么地址,是由分散加载文件决定的,就是那个.scf文件,它决定ROM和RAM的起始地址和大小以及各个程序段的地址。
希望对你有帮助。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
s20080495 + 1 我很赞同
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

1

粉丝