STM32堆栈设置

发布者:Serendipitous55最新更新时间:2019-04-16 来源: eefocus关键字:STM32  堆栈  设置 手机看文章 扫描二维码
随时随地手机看文章

1.堆和栈大小

 定义大小在startup_stm32f2xx.s

Stack_Size      EQU     0x00000400

                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp


; Heap Configuration
;     Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
;

Heap_Size       EQU     0x00000200

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base

 

 

2.堆和栈位置

通过MAP文件可知

 HEAP                                     0x200106f8   Section      512  startup_stm32f2xx.o(HEAP)
 STACK                                    0x200108f8   Section     1024  startup_stm32f2xx.o(STACK)

 __heap_base                              0x200106f8   Data           0  startup_stm32f2xx.o(HEAP)
 __heap_limit                             0x200108f8   Data           0  startup_stm32f2xx.o(HEAP)
 __initial_sp                             0x20010cf8   Data           0  startup_stm32f2xx.o(STACK)

 

显然 Cortex-m3资料可知:__initial_sp是堆栈指针,它就是FLASH的0x8000000地址前面4个字节(它根据堆栈大小,由编译器自动生成)

显然堆和栈是相邻的。

 

3.堆和栈空间分配

栈:向低地址扩展

堆:向高地址扩展

显然如果依次定义变量

先定义的栈变量的内存地址比后定义的栈变量的内存地址要大

先定义的堆变量的内存地址比后定义的堆变量的内存地址要小 

4.堆和栈变量

栈:临时变量,退出该作用域就会自动释放

堆:malloc变量,通过free函数释放 

另外:堆栈溢出,编译不会提示,需要注

关键字:STM32  堆栈  设置 引用地址:STM32堆栈设置

上一篇:STM32堆和栈(Heap & Stack)的资料理解
下一篇:STM32堆和栈(Heap & Stack)及SRAM存储使用

推荐阅读最新更新时间:2024-11-17 11:44

STM32 RTC问题
STM32的RTC用纽扣电池供电,本来考虑将电池正极接到一个AD端口,采集电压值,但发现电池很快消耗殆尽,测量电流得到电流竟然高达20mA,而且单片机是工作的,还能驱动外围电路。 下图是设计的电路图: 下面是出现这种问题的原因:I/O接二极管到VCC。 RTC
[单片机]
<font color='red'>STM32</font> RTC问题
STM32 SYSTICK寄存器详解、描述
********************************************************************************************************/ #include stm32f10x_lib.h /*************************************函数声明**********************************/ void SysTick_Config(void);//SysTick定时器配置 void Delay_Ms(u32);//定时时间配置 void TimingDelay_Decrement(void);//中断定时时
[单片机]
stm32的USB(二)Fatfs在stm32上的移植
前言 相信大家不会对FAT文件系统感到陌生,在Windows上就能够直接操作FAT文件,Fatfs是一个完全免费和开源的文件系统模块,它支持FATl2、FATl6 和FAT32,支持多个存储媒介,有独立的缓冲区,可以对多个文件进行读/写,在嵌入式系统中得到广泛应用。Fatfs有Fatfs和FatFs/Tiny两个版本,FatFs/Tiny占用RAM较小,但是以更慢的读写速度和更少的API函数为代价,下面以Fatfs版本作介绍大家可以从以下链接下载源码:http://elm-chan.org/fsw/ff/00index_e.html。 移植 Fatfs的层次结构如下图所示: 应用层提供了接口函数,如f_open,f_rea
[单片机]
<font color='red'>stm32</font>的USB(二)Fatfs在<font color='red'>stm32</font>上的移植
气体传感器模块原理图和PCB设计分析
根据一个项目的需求,有台机器要用到气体传感器进行气体检测,需要设计一款气体传感器模块。 这个模块要实现以下这些功能: 1, 可以同时安装6种不同气体的传感器,也就是可以同时检测6种不同的气体。 2, 要有RS485接口,让气体传感器模块能和其它设备通过RS485连接,完成数据通信。 3, 供电电源是24V。 经过评估和查找资料,很快就确定了设计方案。原理图设计分析和PCB设计效果如下: 一,主控电路的设计。 这里选用STM32F101,主要考虑到这是工业级别的东西,所以尽量用性能比较强,质量过硬的芯片。同时也考虑到软件工程师熟悉的是STM32,不用重新熟悉芯片,软件开发起来简单,周期短。 二,电源电路的设计。 电路的供电是
[单片机]
气体传感器模块原理图和PCB设计分析
stm32定时器优先级
什么是优先级   优先级是具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。   当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。 stm32定时器优先级   STM32 可以支持的 68 个外部中断通道,已经固定的分配给相应的外部设备。每个中断通道都具备自己
[单片机]
STM32为主控的温度单反馈控制系统全面解析
设计选用STM32单片机作控制器,设计温度单反馈的控制系统,对电加热水器内水的温度进行控制。通过PT100温度传感器实现对水温信号的采集,并利用模拟量前向通道来对水温信号进行处理。利用STM32单片机进行控制输出PWM信号,用此信号控制接触器进而控制电加热水器的电源通断,最终实现对水温的控制。同时用组态软件设计监控界面来实现对水温的控制显示。通过对此课题的设计,能够使自动化的学生对工业过程控制对象具有更进一步的了解,同时熟练掌握自动化控制系统的设计流程,为以后的工作学习打下坚实基础。 一、控制系统硬件设计 1、控制系统硬件总体设计 温度是一个很重要的变量,需要对其进行准确地控制。温度控制系统常用来保持温度恒定或者使温度按照某种
[单片机]
以<font color='red'>STM32</font>为主控的温度单反馈控制系统全面解析
STM32学习笔记(6):LCD的显示
1.LCD/LCM的基本概念 液晶显示器(Liquid Crystal Display: LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。 LCM(LCD Module)即LCD显示模组、液晶模块,是指将液晶显示器件,连接件,控制与驱动等外围电路,PCB电路板,背光源,结构件等装配在一起的组件。 在平时的学习开发中,我们一般使用的是LCM,带有驱动IC和LCD屏幕等多个模块。 2.FSMC的基本概念 在STM32上开发LCD显示,可以有两种方式来对LCD进行操作,一种是通过普通的IO口,连接LCM的相应引脚来
[单片机]
STM32+DHT11 读取温湿度数据显示
一、环境介绍 MCU: STM32F103C8T6 温湿度模块: DHT11 开发软件: Keil5 二、DHT11 介绍 DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。 它应用专用的数字模块采集技术和温湿度传感技术, 确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。 每个 DHT11 传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在 OTP 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。 单线制串行接口, 使
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved