打印

arm奇怪问题

[复制链接]
1713|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
happy_mcu|  楼主 | 2007-7-23 10:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
computer00| | 2007-7-23 10:28 | 只看该作者

不会是直接在启动代码里写的吧?没有C?

使用特权

评论回复
板凳
ayb_ice| | 2007-7-23 10:30 | 只看该作者

你的设置起作用了没有...

使用特权

评论回复
地板
happy_mcu|  楼主 | 2007-7-23 10:31 | 只看该作者

c 程序有啊

c 程序有啊
而且编译完后code 986   ro  0   rw 0
我不明白ro  rw怎么会是0的呢?

使用特权

评论回复
5
happy_mcu|  楼主 | 2007-7-23 10:34 | 只看该作者

回 ayb_ice

请问怎么才能知道设置有没有起作用呢?

使用特权

评论回复
6
luhuaren| | 2007-7-23 13:24 | 只看该作者

re

如果0x0c000000地址和0x00000000地址都有实际的存储空间的话,那么应该是可以的。
可以这样假设。。   在0地址空间处有实际的存储空间,那么代码固化到以0地址开始处的一段空间处
如果RO设置为0  那么 代码就是直接执行,不用进行拷贝。
如果RO设置为0x0c000000  那么代码就要进行拷贝。

完成代码拷贝任务是在 启动代码内完成的。仔细读一下程序的启动代码部分。。

使用特权

评论回复
7
zky2003| | 2007-7-23 15:03 | 只看该作者

一般不可能的

要是没有猜错的话,楼主用的应该是SUMSUNG的ARM,0X0C000000是不是挂的SDRAM,很多的网上的资料都是这么做的,要是RO设置成0X0C000000,程序的开始地址不会是0X00000000,那又怎么可能被正确执行呢

使用特权

评论回复
8
ccoldman| | 2007-7-23 15:45 | 只看该作者

两种可能

1、芯片内部内存映射0x0c000000=0x00000000
2、地址线高位26位以上不存在,0x0c000000=0x000000

使用特权

评论回复
9
happy_mcu|  楼主 | 2007-7-23 16:32 | 只看该作者

re

我用的是s3c44b0
flash是2M的在bank0,地址从0x00000000开始
sdram是8M的在bank6,地址从0x0c000000开始
我是直接下载的.elf文件
我是这样理解的,程序下载到flash中不管ro base设置的是多少它都是从0x0开始的。我这样理解不知道对不对,还望高手指点!!

使用特权

评论回复
10
luhuaren| | 2007-7-23 20:19 | 只看该作者

re

这样理解是对的。。。。。
但是 RO设置成0x0c000000的话,你就要进行代码拷贝了,要把FLASH里的代码拷贝到sdram中去。。这样程序才可以正常运行。

使用特权

评论回复
11
luhuaren| | 2007-7-23 20:20 | 只看该作者

re

而程序就在SDRAM中运行。

使用特权

评论回复
12
gouki_s| | 2007-7-23 21:07 | 只看该作者

链接地址

你程序里没有绝对跳转,就没啥影响

使用特权

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

本版积分规则

11

主题

28

帖子

0

粉丝