news 2026/8/8 14:27:43

Cortex-M3:为什么地址计数器 . 可以从加载域复制到执行域?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cortex-M3:为什么地址计数器 . 可以从加载域复制到执行域?

难度:★★★
本文首发于我的嵌入式技术号「OneChan讲Soc嵌入式」,未经授权禁止转载。


在前面的文章里,我们反复提到一个概念:.data段的初始值存在 Flash(加载域),运行时在 RAM(执行域)里读写。启动代码负责把初始值从 Flash 搬到 RAM。

但启动代码怎么知道“从哪搬到哪”?

它依赖三个地址:

LDR R1, =__data_load ; Flash 中的起始地址 LDR R2, =__data_start ; RAM 中的起始地址 LDR R3, =__data_end ; RAM 中的结束地址

这三个标号的值,是链接器在链接时填进去的。而链接器之所以能算出这些值,靠的是分散加载文件(.sct)里一个看似不起眼的机制——地址计数器.在加载域和执行域之间的“接力”

今天这篇文章,就来拆开这个机制。它牵出了链接器内部一个最精巧的设计:Image$$符号。


一、两个“.”:加载域地址计数器和执行域地址计数器

链接器在处理.sct文件时,内部维护着两个不同的地址计数器

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/8 14:27:04

5个Electerm主题字体搭配技巧:提升终端可读性的终极指南

5个Electerm主题字体搭配技巧:提升终端可读性的终极指南 【免费下载链接】electerm 📻Terminal/ssh/sftp/ftp/telnet/serialport/RDP/VNC/Spice client(Linux, Mac, Windows, Android, HarmonyOS) 项目地址: https://gitcode.com/GitHub_Trending/el/e…

作者头像 李华
网站建设 2026/8/8 14:26:59

讲方案三次被客户问住,我躲进会议室背了半小时大模型名词

我是做技术售前的,干到现在快七年了。下面说的都是真实经历,没有一夜翻身,也不讲成功学。 困境 2025 到 2026 年,我明显感觉到客户变了。前几年我去客户现场讲方案,背熟那几十页 PPT,把架构图讲顺&#x…

作者头像 李华
网站建设 2026/8/8 14:25:07

NLP在社交数据中的应用:Mining-the-Social-Web文本分析实战指南

LegacyUpdate NSIS安装程序开发指南:为旧版Windows构建更新修复工具 【免费下载链接】LegacyUpdate Fix Windows Update on Windows XP, Vista, Server 2008, 2003, and 2000 项目地址: https://gitcode.com/gh_mirrors/le/LegacyUpdate 你是否还在为Windows…

作者头像 李华
网站建设 2026/8/8 14:23:56

Gemini API 集成实战:从环境配置到进阶应用开发指南

这次我们来看一个关于 Gemini 的技术生态观察。Gemini 作为 Google 推出的多模态 AI 模型家族,其发展动态和技术应用一直是开发者关注的焦点。本文不讨论宏观趋势,而是聚焦于 Gemini 当前可用的、对开发者有直接价值的技术能力,特别是其 API …

作者头像 李华
网站建设 2026/8/8 14:23:53

实战指南:构建高效Qt MQTT客户端通信系统的专业方案

实战指南:构建高效Qt MQTT客户端通信系统的专业方案 【免费下载链接】qmqtt MQTT client for Qt 项目地址: https://gitcode.com/gh_mirrors/qm/qmqtt 在物联网和分布式系统开发中,MQTT协议已成为轻量级消息传输的标准选择。对于Qt开发者而言&…

作者头像 李华