打印

遇到一个ARM启动的问题,请教大家

[复制链接]
1662|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuha|  楼主 | 2008-9-15 15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的ARM启动时,有一段代码,是把ROM里的程序,COPY到ARM自带的RAM里,然后REMAP之后,程序就在RAM里运行,这里我有一个疑问:这样是不是太占用ARM的内存了?而且如果ROM里的程序代码很多怎么办?比如RAM只有8K,当我的程序大于8K就不能运行了,有没有什么解决办法?ARM芯片是AT91M40800
谢谢了!

相关帖子

沙发
twentyone| | 2008-9-15 19:03 | 只看该作者

RE

1 - 一般来说,程序在RAM里运行会比在FLASH里面运行快;
2 - 一般来说,如果系统扩展了外部SDRAM的话,RAM会比FLASH大一些;
3 - 如果你的系统的FLASH比RAM大,那就只能让程序在FLASH里面运行,当然可以做些优化,把部分程序放到RAM里去执行。

使用特权

评论回复
板凳
hotyong| | 2008-9-16 22:08 | 只看该作者

同意二楼的说法

其实这个原理和PC机是一样的,程序是存在硬盘里的(相当于FLASH),硬盘那得多大哦,可以存多少程序呀,而要运行这些程序都是在内存中运行的,也是调出一部份先运行,完了再调另一部分,

使用特权

评论回复
地板
wuha|  楼主 | 2008-9-18 06:48 | 只看该作者

有点明白了!

谢谢两位.但是怎么实现呢?我怎么知道内存里加载的运行完了?然后在程序里再去加载其余的代码?

使用特权

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

本版积分规则

26

主题

385

帖子

2

粉丝