liteos连接器脚本(一)

本文介绍了LiteOS连接器脚本的作用,它决定了程序的内存布局。通过类比房屋建造,解释了连接器如何按照脚本将.o文件组合成可执行文件。文章以STM32L431RCT6开发板为例,详细分析了STM32L431RCTx_FLASH.ld连接器脚本的内容,包括软件栈、数据段和BSS段的定义。最后,讨论了数据段和BSS段的实例,以及启动时如何清零BSS段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

liteos连接器脚本(一)

一,什么是连接器脚本

连接器脚本决定了程序的布局编译出来的静态布局。系统运行起来之后很大程度上是由这部分布局决定的。liteos的比较简单,linux下的连接器脚本,因为在某些场景下内核是压缩的,所以可能会牵扯到多个连接器脚本的配合,最终决定解压后在内存中的布局。这个我们这里先关注,等到讲解linux的时候,我们再具体讲解。这里主要还是讲解liteos。

那么什么是连接器脚本呢,连接器脚本是辅助编译器连接器的一个文档,我们的程序是由许多c或者汇编文件编译出来的.o后缀的文件,这些文件是独立的,那么就需要连接器将这些文件最终结合成最后我们需要一个独立的程序,这里先不考虑elf32等之类的程序特定的头,或者直接是bin文件这样的。这个都属于后面了,我们统称为可执行文件。连接器的使用环节如下图所示
连接器脚本
如上图,源程序通常是我们写好的程序C或者汇编S后缀的文件。通过编译工具链里面的汇编器统一编译成S后缀的文件,然后再通过编译器生成o后缀的二进制文件(这个时候已经是机器代码了),但是这些o文件是独立的&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值