当前位置:首页 > 单片机 > 单片机
[导读]1)对于烧录在单片机里面的程序,程序的代码段,data段,bss段,rodata段等都存放在单片机的Flash中。当单片机上电后,初始化汇编代码将data段,bss段,复制到单片机的RAM中,并建立好堆栈,开始调用程序的main函数。

1)对于烧录在单片机里面的程序,程序的代码段,data段,bss段,rodata段等都存放在单片机的Flash中。当单片机上电后,初始化汇编代码将data段,bss段,复制到单片机的RAM中,并建立好堆栈,开始调用程序的main函数。以后,便有了程序存储器和数据存储器之分,程序运行时从Flash(即指令存储器,代码存储器)中读取指令,从RAM中读取与写入数据。

2)RAM->存放data段,bss段,堆栈段;

ROM->存放代码段(code 段)与只读数据段(rodata段);

3)bss段的理解:(Block Started By Symbol)通常是指用来存放程序未初始化的全局变量和静态变量的一块内存区域,特点是可读写的;在程序执行之前bss段会自动清零,所以未初始化的全局变量与静态变量在程序执行之前就已经初始化为0了。

注:bss段与data段的区别:bss段存放的是未初始化的全局变量与静态变量;data段存放的是初始化后的全局变量与静态变量;

4)rodata段的理解:rodata段存放的是程序只读数据,一般是程序里面的只读变量(如const修饰的变量)与字符串常量。单独设立".rodata"段有很多好处,不光是在语义上支持const字,操作系统加载时可以将".rodata"段的属性设置为只读,保证了程序的安全。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

写在前面单片机中有看门狗,长时间不喂狗,程序就会复位。为什么长时间不喂狗呢?是因为程序跑飞了,抛开外部因素不谈,今天和大家分享一下单片机程序跑飞的几个原因。在编写单片机程序的时候,由于中断服务程序写的不好,导致单片机程序...

关键字: 单片机程序

▼点击下方名片,关注公众号▼在编写单片机程序的时候,由于中断服务程序写的不好,导致单片机程序总是跑飞,最后费了好长时间,花了很大功夫才找到问题原因,由此总结了单片机程序跑飞的三种现象、原因及解决方法。01、数组越界/溢出...

关键字: 单片机程序

写在前面单片机中有看门狗,长时间不喂狗,程序就会复位。为什么长时间不喂狗呢?是因为程序跑飞了,抛开外部因素不谈,今天和大家分享一下单片机程序跑飞的几个原因。在编写单片机程序的时候,由于中断服务程序写的不好,导致单片机程序...

关键字: 单片机程序

你知道应该如何存放LED显示屏吗?对于每一个LED显示屏生产厂家都会有自己的产品存货,不管是一些模组还是箱体多多少少都会自己备份一些,为的就是以防客户们突然前来购买一些相关配件,从而忙的措手不及。另外一点就是在安装显示屏...

关键字: LED 存放 显示屏

对程序进行优化,通常是指优化程序代码或程序执行速度。优化代码和优化速度实际上是一个予盾的统一。一般是优化了代码的尺寸,就会带来执行时间的增加;如果优化了程序的执行速度,通常会带来代码增加的副作用。很难鱼与熊掌兼得,只能在...

关键字: 单片机程序

在科技高度发展的今天,电子产品的更新换代越来越快,LED灯的技术也在不断发展,为我们的城市装饰得五颜六色。对于每一个LED显示屏生产厂家都会有自己的产品存货,不管是一些模组还是箱体多多少少都会自己备份一些,为的就是以防客...

关键字: LED 存放 显示屏

之前一直很奇怪一个问题,每次写好单片机程序之后,用烧录软件进行烧录时,能看到烧录文件也就是hex的文件大小: 我用的单片机芯片是STM32F103C8T6,程序储存器(flash)只有64K。 从上图可以看出,hex有1...

关键字: 单片机程序 CODE 芯片 编写

环境描述:Keil+ Proteus电路仿真首先在Keil里创建一个工程,在工程里建立三个文件,文件名分别是:“头文件.c”,“delay.c”,“delay.h”分别在 头文件.c、delay.c、delay.h写入相...

关键字: 单片机程序 模块方式

最近在调试单片机程序,总是遇到一些开始认为不可思议的事情,后来解决了问题后发现,都是因为自己书写程序不严谨,其主要原因是没有注意c语言的数据类型的数据范围。对有符号、无符号数据的使用存在误区,对类型转换

关键字: 单片机程序 数据类型

单片机我们都用过,我们知道单片机的FLASH有4K的,有8K的,单片机程序我们也写过,但是我们写好的程序有多大,你知道吗?程序写好并编译后生成hex文件,这个hex文件就是要下载到单片机里的文件,这个文件的大小不能超

关键字: hex文件 单片机程序 实际大小
关闭
关闭