- 1
- 2
- 3
- 4
- 5
链接脚本内存布局作业流程与操作规范
资料介绍
链接脚本内存布局作业流程与操作规范 工程师笔记:链接脚本(Linker Script)决定程序如何映射到 MCU 的存储空间。写错了,轻则浪费内存,重则程序跑飞。这篇手记带你把它安排明白。 1) 适用场景 我们来看,链接脚本并不是每个项目都要手写,但它确实在很多场景里必不可少。最典型的是三类:一是嵌入式裸机或 RTOS 项目,需要精确安排代码段、数据段、堆栈和堆在 Flash 与 RAM 中的位置;二是需要把程序放到指定地址运行(如 bootloader 跳转、OTA 升级)的场景;三是需要精细管理内存、避免碎片化的资源紧张场景。 在这些场景下,链接脚本就是"内存布局的总设计师",它决定了程序里每段内容放哪、排多密、留多大空。写得好,内存利用率高、运行稳定;写得随意,可能明明内存够却连不上,或者跑起来莫名跑飞。 我们来看一个判断:如果你的项目只是简单地把编译器默认链接配置拿来就用,也不涉及特殊地址需求,那通常不用动链接脚本;但一旦涉及上述三类场景,就务必认真对待这块配置,别让它成为隐藏的定时炸弹。 2) 准备工作 动手写链接脚本之前,我们先来把准备工作做扎实。第一,拿到 MCU 的内存规格表,明确 Flash 的起始地址与大小、RAM 的起始地址与大小,以及是否存在被保留的特殊区段(如 bootloader 区、信息存储区)。 第二,梳理程序的段(section)结构。通常有只读的代码段 .text、初始化的数据段 .data、清零段 .bss、只读常量段 .rodata 等,要搞清楚每个段该放 Flash 还是 RAM,以及它们之间的依赖关系。 第三,确认编译器和链接器的版本与语法规范,不同工具链(GNU、ARMCC、IAR 等)的链接脚本语法有差异,我们来看,最好以所用工具链的官方手册为准,避免跨工具链照搬出错。 3) 操作步骤 链接脚本的配置,我们来看分五步走。
部分文件列表
| 文件名 | 大小 |
| 链接脚本内存布局作业流程与操作规范.docx | 39K |
最新上传
-
yahuang001 打赏3.00元 3天前
-
yahuang001 打赏1.00元 3天前
-
zhongshaoxiong 打赏3.00元 3天前
-
他山之石可攻玉 打赏60.00元 3天前
用户:烟雨
-
江岚 打赏210.00元 3天前
用户:潇潇江南
-
江岚 打赏100.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏310.00元 3天前
用户:江岚
-
21ic下载 打赏210.00元 3天前
用户:潇潇江南
-
21ic下载 打赏60.00元 3天前
用户:他山之石可攻玉
-
21ic下载 打赏60.00元 3天前
用户:烟雨
-
21ic下载 打赏60.00元 3天前
用户:w178191520
-
21ic下载 打赏60.00元 3天前
用户:w993263495
-
21ic下载 打赏110.00元 3天前
用户:xzxbybd
-
21ic下载 打赏60.00元 3天前
用户:zq_1943
-
21ic下载 打赏20.00元 3天前
用户:kk1957135547
-
21ic下载 打赏20.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:w1966891335
-
21ic下载 打赏35.00元 3天前
用户:有理想666
-
21ic下载 打赏15.00元 3天前
用户:nuaanuaa111
-
21ic下载 打赏20.00元 3天前
用户:liqiang9090
-
21ic下载 打赏15.00元 3天前
用户:ningmengge
-
21ic下载 打赏10.00元 3天前
用户:mulanhk
-
21ic下载 打赏5.00元 3天前
用户:asys
-
21ic下载 打赏10.00元 3天前
用户:舞蹈荀彧
-
21ic小能手 打赏5.00元 3天前
资料:磁编码器开源方案
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏50.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏8.00元 3天前
-
21ic小能手 打赏8.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏3.00元 3天前




全部评论(0)