分享

分散加载文件(链接脚本文件)的格式

 wfsy1983 2011-05-23
1.分散加载文件(链接脚本文件)的格式
问题描述:
在链接的时候,要在不同的地址处添加链接文件,暨分散加载文件,这个分散加载文件有什么样的格式呢?
问题解答:
        程序正确编译生成目标文件以后, 就会链接成可执行的文件, 这个过程中要用到分散加载文件, 它决定可执行的代码在存储器中存放的位置, 这在复杂的程序(例如VIVI对Linux内核的引导)中是很重要的. 下面是一个简单的分散加载文件的例子:
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
;Run in Flash
LR_ROM1 0x00000000 {    ; load region
ER_ROM1 0x00000000 0x0200000 { ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
}
RW_RAM1 0x30000000 0x4000000 { ; RW data
   .ANY (+RW +ZI)
}
   RW_IRAM1 0x40000000 0x00001000 {
   .ANY (+RW +ZI)
}
}
        在上面的例程中, 代码从地址0x00000000处开始存放,并且将RESET程序段放在最开始处, 而可读写的数据从地址0x30000000处开始存放. 分散加载文件的段的名字(例如LR_ROM1, ER_ROM1等)可以是任意的名字.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多