首页 > 系统相关 >STM32中的内存映射

STM32中的内存映射

时间:2025-01-11 21:11:00浏览次数:1  
标签:Flash 映射 只读 RAM STM32 内存 data

 STM32中的内存映射

在STM32中,内存映射通常如下:

  • Flash

    • 存储.text段(代码)、.rodata段(只读数据)和.data段的初始值。

  • RAM

    • 存储.data段(运行时)、.bss段、栈和堆。


4. 程序启动过程

在STM32中,程序启动时会发生以下操作:

  1. 从Flash中加载.data段的初始值到RAM。

  2. .bss段的内存区域清零。

  3. 初始化栈指针(SP)和堆指针(Heap)。

  4. 调用main()函数,开始执行用户程序。


5. 总结表格

内存区存储内容存储位置特点
.text 程序代码、只读常量 Flash 只读,掉电不丢失
.data 已初始化的全局变量和静态变量 Flash(初始值) + RAM(运行时) 可读写,启动时从Flash复制到RAM
.bss 未初始化的全局变量和静态变量 RAM 启动时清零,不占用Flash空间
.rodata 只读数据(如字符串常量) Flash 只读,掉电不丢失
栈(Stack) 局部变量、函数参数、返回地址 RAM 自动管理,空间有限
堆(Heap) 动态分配的内存 RAM 手动管理,空间较大

标签:Flash,映射,只读,RAM,STM32,内存,data
From: https://www.cnblogs.com/mokongking/p/18666210

相关文章

  • 嵌入式单片机内存泄漏处理与实现
    1.前言    最近部门不同产品接连出现内存泄漏导致的网上问题,具体表现为单板在现网运行数月以后,因为内存耗尽而导致单板复位现象。    一方面,内存泄漏问题属于低级错误,此类问题遗漏到现网,影响很坏;另一方面,由于内存泄漏问题很可能导致单板运行固定时间以后就复......
  • Pulsar客户端如何控制内存使用
    摘要本文围绕一个常见的使用场景深入分析在高吞吐场景下,使用Pulsar客户端收发消息可能会遇到的若干问题。并以此为切入点,梳理一下Pulsar客户端在内存控制上所做的优化改进。使用场景假设这样一个常见的场景,一个搜索类业务需要记录用户搜索请求,以便后续分析搜索热点,以及有针对性......
  • 【STM32】利用SysTick定时器定时1s
    1.SysTick简单介绍SysTick定时器是一个24位的倒计数定时器,当计数到0时,将从RELOAD寄存器中自动重装载定时初值,开始新一轮计数。SysTick定时器用于在每隔一定的时间产生一个中断,即使在系统睡眠模式下也能工作。关于SysTick详细说明,请查看该文章:STM32—delay和操作系统共用Sys......
  • 请说说WASM如何进行内存管理?
    WASM(WebAssembly)的内存管理主要涉及到内存的分配、使用和释放,这对于确保Web应用的性能和稳定性至关重要。以下是关于WASM如何进行内存管理的详细解释:内存分配:WASM使用线性内存模型,其中所有的内存都被视为一个连续的字节数组。这种模型简化了内存的分配和管理。在WASM中,内存......
  • 如何控制docker中占用系统资源(CPU,内存)的份额?
    在Docker中,你可以通过多种方式来控制容器对系统资源(如CPU和内存)的使用份额,以确保容器不会过度消耗宿主机的资源,并与其他容器公平地共享资源。以下是一些常用的方法:一.控制CPU资源CPU份额(CPUShares):Docker使用CPU份额来分配CPU时间。默认情况下,所有容器具有相同的CPU份额,这意......
  • 《操作系统真相还原》实验记录2.4——内存管理系统
    一、位图bitmap及其函数的实现1.1位图简介位图,也就是bitmap,广泛用于资源管理,是一种管理资源的方式、手段。“资源”包括很多,比如内存或硬盘,对于此类大容量资源的管理一般都会采用位图的方式。位是指bit,即字节中的位,1字节中有8个位;图是指map,地图本质上就是映射的意思,映......
  • STM32之LWIP网络通讯设计-上(十四)
    STM32F407系列文章-LWIP-Network(十四)目录前言一、以太网简介二、网络协议简介1.OSI模型2.TCP/IP协议3.协议层报文间的封装与拆封4.lwIP1.lwIP特性2.lwIP开源网址3.lwIP参考书籍三、通讯连接示意四、STM32内部ETH 1.内部MAC2.内部DMA五、PHY驱动芯片1.功......
  • SENT协议深度解析-----使用STM32发送SENT信号
    一、SENT信号的结构在上一期中,我们介绍了SENT信号的接收,这一期我们来讲解一下SENT信号的发送,在讲解之前,我们需要先了解一下SENT信号的结构,SENT信号分为两种类型:快速通道类型、慢速通道类型,慢速通道分为短串行数据、增强串行数据,一共三种信号结构发送方式,在汽车MCU领域中,SEN......
  • 【STM32】MCU运行多段代码,Flash程序更新的实现方式之一
    【STM32】MCU运行多段代码,Flash程序更新的实现方式之一文章目录BootLeader跳转到BootLeader跳转到Flash其他位置MCU运行多段代码其他程序更新烧录方式附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时......
  • STM32垃圾分类系统设计与实现
    引言垃圾分类作为现代环保和资源回收的重要环节,已经成为了各地政府和环保组织高度关注的议题。合理的垃圾分类不仅能够有效减少垃圾的填埋量,还能提高资源的回收利用率,减少环境污染。随着物联网技术的发展,智能垃圾分类系统的设计和实现成为了当前研究的热点。本文将介绍如......