怎么确定程序是在SDRAM还是FLASH中运行?

[复制链接]
3957|5
 楼主| 林粼粼 发表于 2008-3-9 21:59 | 显示全部楼层 |阅读模式
以s3c44B0为例,一个ADS下的工程,设置里指定了RO&nbsp;BASE的地址是在SDRAM的地址比如&nbsp;0xc000800,<br />生成BIN文件后烧写到FLASH&nbsp;的0x0位置处<br /><br />那是要自己在程序里面写代码把程序代码拷贝过去?如果不需要,那前面设置里面的RO&nbsp;BASE&nbsp;地址处没代码,怎么在SDRAM运行?
twentyone 发表于 2008-3-9 22:03 | 显示全部楼层

RE

一般都需要拷贝的。程序结构可以很灵活。象你说的情况,RO_BASE设置为SDRAM的地址,但却烧写到FLASH里去,上电后,不一定能执行。当然也有可能能执行,但要保证正确运行,写代码的时候要有考虑。
computer00 发表于 2008-3-9 23:22 | 显示全部楼层

这个要看代码是否是地址无关的。

如果是地址相关的,就必须要在指定的地址才能运行正确。
publicrtos 发表于 2008-3-10 11:17 | 显示全部楼层

有一个好办法

把FLASH焊掉如果能运行就一定是在SDRAM里运行了。<br />呵呵,说笑了。
luocolor 发表于 2008-3-10 16:26 | 显示全部楼层

prinf一下某一个变量的地址

然后自己再比较下
aguijie 发表于 2008-3-10 17:09 | 显示全部楼层

adr

3楼正解.&nbsp;通过取得PC的值,&nbsp;与链接时的地址进行比较,&nbsp;就可以知道是在哪运行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

57

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部