ADS中RO_BASE、RW_BASE以及Image entry point的设置

注意从中体会


资料剪切一

设置完了“Language Settings”后接下来就是“Linker”选项了,在该选项里面有和硬件紧密相关的设置,首先进入“ARM Linker”子选项,在该子选项内需要设置入口地址(entry)、RO地址、RW地址。
首先设置R0/RW地址,RO表示Read Only,RW表示Read Write,RO栏默认是0x8000,需要根据实际硬件进行更改,一般为FLASH地址,RO也可以设置在SDRAM中,启动代码中包含COPY的部分,会将代码移动到SDRAM中运行,这对44B0特别适合,因为SDRAM很大,而且对速度的提升也很明显。entry point必须同RO一致,以提供连接器定位信息
本44B0板的FLASH地址即为0x00000000;RW栏默认为空,一般为SDRAM地址,本44B0板的地址即为0x0C000000(RO也可以设置在SDRAM中但entry point必须同RO一致)。


资料剪切二

RO Base:用来设置程序代码存放的起始地址。 RW Base:用来设置程序数据存放的起始地址。
这两项的地址均由硬件决定,并应该在SDRAM的地址范围内。本实验箱使用的是64M SDRAM,其地址范围是0x30000000—0x33FFFFFF,故采用首地址作为程序代码的存放的首地址,即在RO Base文本框中输入0x30000000, RW Base文本框用户自定义,只要保证在SDRAM地址空间内,并且是字对齐即可,这里我们可以输入0x31000000。
此处的设置也就是说在地址为0x30000000--0x31000000之间是只读区域,用来存放程序代码,从0x31000000开始用来存放程序数据。
本选项卡只对Image entry  point进行设置,该项是程序代码的入口地址。如果程序在SDERAM中运行,针对本试验箱可选择的地址范围0x30000000--0x31000000。通常程序代码的入口地址与RO Base中程序代码的首地址相同,这里为0x30000000。其他默认即可。

资料剪切三

2. 设置程序入口地址
单击Options标签,在Image entry point一栏中设置程序的入口地址。程序的入口地址是指代码通过Multi-ICE仿真器下载到硬件板卡上的存储器之后,用户调试程序之前PC指针所指向的地址。一般将入口地址设置为中断向量表代码的起始地址。中断向量表部分代码被下载到片内RAM,所以入口地址设置为片内RAM的起始地址0x2000,0000,见图10。


资料剪切四

其中set_peri_port函数是必须要添加的,这样才能访问到s3c6410的外设空间。

setup_peri_port:  
            ldr r0,=0x70000013      @base addres:0x70000000,size:256MB  
            mcr p15,0,r0,c15,c2,4  
            mov pc,lr

把外设的基地址告诉CPU对于6410来说,内存(0x00000000~0x60000000),外设(0x70000000-0x7fffffff)

转载于:https://my.oschina.net/fengyeshangqing/blog/339148

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值