首页 新闻资讯 技术资料 论坛 网站地图
综合电子技术 嵌入式软件 工业控制 IC设计 应用产品 计算机外设 医疗电子
电子元器件搜索:
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
维库电子市场网是知名的电子元器件交易网站, 为电子生产企业提供IC库存和技术资料查询服务。
位置: 首页 > 详细信息
  ARM遇到问题,急!
出处:嵌入式技术网 时间: 2007-07-31
sanrenxing 发布于 2007-7-31 13:54:26
我刚写了个简单的循环点灯程序,可是不管我把ro base设置成0x0c000000还是0x00000000,程序下载到flash后都可以正常运行。这是为什么呢?


reply007 发布于 2007-7-31 13:56:01
不会是直接在启动代码里写的吧?没有C?
reply007 发布于 2007-7-31 14:00:54

你的设置起作用了吗?


sanrenxing 发布于 2007-7-31 14:02:04

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

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


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


reply007 发布于 2007-7-31 14:11:10

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


sanrenxing 发布于 2007-7-31 14:13:11

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


reply007 发布于 2007-7-31 14:15:47

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


reply007 发布于 2007-7-31 14:16:22

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


sanrenxing 发布于 2007-7-31 14:17:16
好的,谢谢关注!!!
关闭】 【打印
相关专题  
综合电子技术
嵌入式软件
计算机外设
数控系统
传感控制
安防产品
医疗电子
软件开发
工业控制
存储器
CPLD/FPGA
应用产品
嵌入式开发新闻
汽车电子
SOPC
嵌入式系统
IC设计
消费电子
接口电路
通信产品
嵌入式硬件
电源系列
AD/DA
开发工具
测试测量

© 2007 百斯嵌入式开发网 网站地图