分散加载中的疑问(这个应该知道的比较多了吧)

dqlm016   2010-1-17 22:25 楼主
这样的.
看了LINK GUIDE,还是对分散加载有些疑问

比如一个scf如下
LREGION_test   0x0   
{
   EREGION_1 0x0  0x1000
   {
       boot.o(INIT,First)
       test1.o(+R0)
   }
   
   EREGION_2 0x1000 0x1000
   {
       test2.o(+RO)
   }
   
   EREGION_3 0x30000000 0x2000
   {
       *(+RW,ZI)
   }

}
就以这个为例子吧,嵌入式大侠应该很容易懂了,
|Image$$EREGION_2$$BASE| = ? 豪无疑问,肯定是等于0x1000了,此为运行时地址

那么
|Load$$EREGION_2$$BASE| = ? 这个guide上名曰,该region的加载地址,我就有点怀疑了,
所以请问,这两个怎么解释?

还有prj编译后生成的bin文件中,其各个region在bin中定位的物理位置是按照什么来的。
比如在进行nandboot中nandcopy过程时,某个region源地址是怎么获取的???


很棘手的问题啊!!!高手何在???


回复评论 (4)

自己顶一下

刚做了个实验,在SDRAM中调试运行,分别读取REGION的Load$$region$$base和Image$$region$$base值看。发现是一样的,这说明什么了?

点赞  2010-1-17 22:41
你的EREGION_2是只读的,它是始终在ROM里面,Load$$region$$base和Image$$region$$base是相同的.
EREGION_3是要从ROM复制到RAM的,其Load$$region$$base和Image$$region$$base是不同的.
点赞  2010-1-18 01:28
我也不清楚,看高人怎么说....
点赞  2010-1-18 01:29
我帮顶下。

MARK,也期待高人解答,我学习下、。
点赞  2010-1-18 11:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复