GCC编译之后的代码信息

摘要:
编译arm-none eabi gcc后,将显示一些信息。例如,下面描述了每个字段的含义及其与bin文件大小的关系。文本区域是代码区域,它是程序编译后的源代码区域。燃烧后,它始终位于FlashROM中。数据和bss都指函数中的全局变量和静态变量。不同之处在于数据具有初始值,而bss没有。最后,bin文件的大小是文本+数据区域的大小。看看STM32_发现PD.bin的大小为9.32KB,将写入微控制器的ROM中。

arm-none-eabi-gcc编译之后会显示一些信息,比如
GCC编译之后的代码信息第1张

下面就来说受每个字段的含义以及它们与bin文件大小的关系。
text区是代码区,就是程序编译之后源码的区域,在烧录之后一直位于Flash ROM中。


data和bss都是指的全局变量以及函数内static的变量,区别是data是有初始值的而bss没有。
data的初始值同样存在Rom里,当单片机启动的时候data的初始值会被加载到内存的相应位置,而bss则在启动的时候被置零。(这部分可以参考startup_stm32.s)


dec是text+data+bss的大小,hex就是dec转成16进制的值,并不是ROM占用哦,实际的比这个少。


所以最后bin文件的大小是text+data区域的大小,去看看STM32_PD.bin的大小,发现正好是9.32 KB (9,548 bytes),这些东西是要被写入单片机的ROM的。

免责声明:文章转载自《GCC编译之后的代码信息》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇redis数据审计java并发之线程执行器(Executor)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

数组中的filter函数,递归以及一些应用。

当我们用一个东西时候我们必须知道的是?why---where----how---when。一个东西我们为什么用?在哪用?怎么用?何时用?而不是被动的去接受一些东西。用在js里边我觉得也会试用。一直追求源生js,虽然也都背过好多东西,但是随着时间的流逝,工作的繁忙都忘了,有时甚至一点印象都没有,这让我开始思考我的学习方法了已经思维方式了。我们要记得不是简单的...

[参考资料] 80个Python经典资料(教程+源码+工具)汇总

AD : 2018重磅地面课程《机器读心术之语音识别前沿实战特训营》,迈向人工智能新高度 【专题推荐】Python系列英文原版电子书 http://down.51cto.com/zt/104 python简明教程(CHM) http://down.51cto.com/data/49213 Linux黑客的python编程之道【pdf】推荐 http...

Linux下安装mysql-5.7.30详细步骤

前言下面记录了我在Linux环境下安装Mysql的完整过程,实操记录,只为让更多人少踩坑,本次安装版本为:mysql-5.7.30,64位操作系统官网下载地址:mysql-5.7.30-el7-x86_64.tar.gz百度网盘地址:百度网盘地址 提取码:lyqh 1、安装前准备检测系统是否自带mysql [root@localhost /]# rpm -...

uniapp不同型号手机适配

ps:拿到手机的高度、宽度、高宽比例,自定义页面模块的高度和间距。 主要代码: <view class="cono" :style="{height:navHeight3+'rpx'}"> </view> <view class="banner" v-if="navHeight4==370" style="backgroun...

Java IO流 DataOutputStream、DataInputStream的基本使用

            DataOutputStream、DataInputStream的基本使用   DataInputStream数据输入流允许应用程序以独立于机器的方式从底层输入流读取原始Java数据类型。应用程序使用数据输出流来写入稍后可以被数据输入流读取的数据。DataInputStream对于多线程访问来说不一定是安全的。 线程安全是可选的,由...

彻底解决INSTALL_FAILED_UPDATE_INCOMPATIBLE的安装错误、安装包与之前设备上的安装包签名不一致

有时候开发的问题:会遇到在公司上班的时候,公司的IDE能跑程序,把程序拷贝回家,再跑一次,就会出现以下错误: INSTALL_FAILED_UPDATE_INCOMPATIBLE 原因:就是你的安装包与之前设备上的安装包签名不一致。百度的时候,有的人说:运行太多次也会出现上述的问题,但我没遇到过。 简单处理: 如果你的程序只是自己跑着玩的,不是很重要的程序...