首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
mzwhhwj
修改
文章:
26
阅读:
58918
评论:
33
赞:
413
好友
私信
个人主页
文章
26
原创
0
阅读
58918
评论
33
赞
413
原创
STM32的内存变量的由来
2014-12-29 22:43
1228
18
18
今晚又在opendev.com开源电子论坛里看到有人提问STM32中的内存变量是怎么来的,我们都知道编译后的代码是写成Flash里面去的,而全局变量(其实也就是内存的一片区域)尤其是已经有初始化值的,是怎样到内存里面去的。估计如果不是研究过ARM9以上的高级ARM的人,都不会是关注这一点,因为ARM9以上的高级ARM都是在Uboot有代码来实现这一点的,而STM32中,除了那一点点的启动代码,没有更底层的代码来先说我们是怎么实现的,自然也没人去在意过。这里我同样反汇编了STM32的AXF文件来研究下,下面直接引用我在论坛里的回答,希望对大家更好理解STM32有所帮助
---------------------------------
上图直接看反汇编的后的代码,地址是0x08000000也就是代码区的最后面0x8013894的地址就是对应0x20000000,大小是0x704,0x8011AE2对应的_decompress1函数,这里就是把0x8013894个地址开始,总共0x704大小的数据搬到内存里去,这区域的数据正好就是已经有初始化的全局变量的数据。
再看偏移0x704之后,对应内存地址变成0x20000704,之后的偏移量是0xc074,调用的0x80111b90(函数_scatterload_zeroinit)
再看0x20000704的地址区域,其实就是没有初始化的全局变量,这里没有数据搬运,只是压栈在这里,并预留了变量的空间在这里。
为了验证这一点,我们再打开对应的Hex文件,来看看
HEX的数据跟反汇编对应地址上的数据是完全相同,而没初始化的全局变量,没有数据自然在HEX文件也找不到,也就是说全局变量的数据也是保存在代码的最后面,然后再搬到内存上去的。这一切都由编译自动完成的,当然我们是看不到代码用户代码的实现。
stm32
内存搬运
写原创有奖励!2025面包板原创奖励正在进行中
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
点赞(
18
)
收藏
分享到:
上一篇:
STM32中的main函数入口
下一篇:
ARM9/ARM11裸机开发笔记1之MDK开发环境和点亮LED
PARTNER CONTENT
换一换>
更多>
赤池昌二先生升任TEL集团副总裁兼中国区总裁
Tokyo Electron
2025-03-04
全球知名科技公司正在出售一批未使用的IC载板先进封装工艺生产设备
ALLSURPLUS
2025-02-14
德中技术发布数控设备操作系统MOS V1.0版本软件
德中技术
2025-02-06
文章评论
(
0
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
mzwhhwj
修改
文章:
26
阅读:
58918
评论:
33
赞:
413
好友
私信
个人主页
文章
26
原创
0
阅读
58918
评论
33
赞
413
个人文集
.NET Micro Framework USB移植
(9)
最新评论
更多
管理者其实在正统的管理学里一直不是顶层,而是执行层人员的一种类型。在英文中,Leader和Manager有巨大的职能和权限差别,但这 ...
牛言喵语 ...
评论博文
2025-3-4
AI永远不会取代管理者,只会改变管理者 ...
估计下一代电视就是类似于机器声音的AI客服效果。想当初AI客服是多大的事情啊,以至于现在的四大行都是用的机器人语音客服来服务 ...
牛言喵语 ...
评论博文
2025-3-4
DeepSeek成AI TV最优解?海信彻底坐不住了 ...
垃圾是人制造出来的。 这设备成为垃圾了,但还没有仍,有空再来拆解玩一玩,呵呵
自做自受 ...
评论博文
2025-3-4
我的GPS PC-77002 只好变成垃圾!
最新
博文
MWC 2025|紫光展锐联手美格智能发布5 ...
MWC 2025 | 紫光展锐联合移远通信推出 ...
PCB层数多少算高难度?答案可能出乎意 ...
资料下载
本周热帖
ESP8266硬件设计指南
RAG全栈技术从基础到精通 ,打造高精 ...
高精度气压计与海拔传感器HP203N的技 ...
3D打印材料质量评估中飞纳扫描电镜的 ...
LC充电电压函数
DP、HDMI 和 Type-C:接口解析与应用 ...
AD19 规则设置含义
继纸板风波想到的,比赛获得不了奖金 ...
MOS管选型十大陷阱:参数误读引发的血 ...
这种5pin的 A座是否支持PD快充?PD是 ...
最新资讯
芯语最新
智能汽车通信的主动脉:GMSL与FPD-LIN ...
超简单的双晶体管正弦波振荡器,一起 ...
美国《芯片法案》实施遭遇挑战,负责 ...
2025年网络安全引重视,SRM成破局点 ...
台积电今年下半年量产CPO,支持博通、 ...
今日新闻丨雷军建言优化“绿牌”设计 ...
3年狂赚2000亿!宁德时代为啥还要上市 ...
雷军:建议优化新能源汽车绿牌设计 ...
2月新能源乘用车销量榜:特斯拉中国持 ...
2025年汽车行业调研报告汇总 ...
EE直播间
更多
第三代功率半导体器件测试解决方案
直播时间: 03月06日 10:00
不一样的热像检测 - 电子产品的热像检测技术要点和案例分享
直播时间: 03月26日 10:00
利用高性能源表和强大的软件, 实现半导体参数的测试和分析
直播时间: 04月17日 00:00
在线研讨会
更多
Allegro电流传感器替代采样电阻解决方案—实现更高效、更可靠的电流检测
迈来芯电流传感器:从汽车到工业与消费电子全面应用
如何在隔离的状态监控系统中捕获同步数据
助力AI服务器,思瑞浦I3C产品及相关模拟产品方案介绍
热门
推荐
百万设备≠唯一解!精密测量成本砍半秘籍
工程师调试电路的秘密武器
双天线智能切换+多协议并发传输方案详解
芯片现货市场行情分析
我要评论
0
18
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/4
面包板社区有奖活动汇总楼
1. 拆解活动即将上线!2. 写原创,有奖励!3. 免费申领:开发板试用、书籍试读...
关于内容审核不通过原因的公告
为了给大家营造一个优质、高效的社区环境,保证论坛秩序和内容质量,现对内容审核不通过的原因进行说明
【赚大额E币】用AI来分析电路或编程!
用AI工具进行电子设计方面的工作?比如分析电路、元件选型、写代码...哪些AI大模型在硬件分析设计方面、编程方面的能力更强?
2025面包板社区&博客原创征集活动
2025 面包板原创征集活动继续! 好文有大奖!月月有奖励!
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
文章评论(0条评论)
登录后参与讨论