目 录CONTENT

文章目录

链接文件学习(四):单独文件放置到某个地址

moke
2024-07-25 / 0 评论 / 0 点赞 / 23 阅读 / 0 字

概述

        有时候需要将某个源文件放置在某个地址里面,此时需要设置特殊的方式将指定的源文件放置到地址里面。

参考方法

        1、设置内存空间

Memory
{

          PFLASH_USER_CODE   (rx!p)   :  org= 0x801FFFE0 ,len = 32K

          x1  (rx!p)   :  org= 0xyyyyyyyy ,len = 0xzzzz

         .......

         xn (rx!p)   :  org= 0xuuuuuuuu ,len = 0xvvvv

}

USER_CODE :ALIGN(4)

{

        PROVIDE(__USER_CODE_START = .)

        *(.text.User_code*);

        *File1.o(.text*);

        *File2.o(.text*);

        PROVIDE(__USER_CODE_END = .)

} > PFLASH_USER_CODE

2、内容解析

*File1.o(.text*) 最前面的*表示所有文件 

*File1.o(.text*) 里面的*File1.o表示 所有文件里面末尾字符串为File1.o的 可以是xxxFile1.o 也可以是 yyyFile1.o 

*File1.o(.text*) 里面的(.text*)  表示File1.c里面属于text相关段的代码

注意一个点

        *File1.o(.text*) 里面的(.text*)  表示File1.c里面属于text相关段的代码 这句话里面是属于text相关段的代码,有时候某一段代码我们会自己定义段名,例如下图

.ResetPoint :ALIGN(4);

{

        *(.start_code);

        .= ALIGN(4);

} > PFLASH_STARTUP

注意另一个点

        .=ALIGN(4)  里面的.表示地址,也就是在 *(.start_code);存储之后看下是不是按照4字节对齐的,不够的话需要在 *(.start_code);补足4字节对齐,假设剩下3字节,就补上3字节,剩下2个就补2个。

博主关闭了所有页面的评论