STM32八股【3】------RAM和片上FLASH

devtools/2025/4/1 1:45:25/

1、RAM和FLASH构成

1.RAM

┌──────────────────────────┐  
│       栈区 (Stack)        │ ← 从RAM顶端向下扩展(存储局部变量、函数调用信息)
│--------------------------│  
│       堆区 (Heap)         │ ← 从.bss段底部向上扩展(动态分配的内存,如malloc)
│--------------------------│  
│      .bss 未初始化数据区   │ ← 未初始化的全局变量、静态变量(启动时清零)
│--------------------------│  
│      .data 已初始化数据区  │ ← 已初始化的全局变量、静态变量(从Flash加载初始值)
│--------------------------│  
│      .rodata 常量区       │ ← **可能不存在**(通常.rodata保留在Flash,除非优化需要)
│--------------------------│  
│      .text 代码区         │ ← **仅当代码需加速时存在**(如从Flash复制到RAM执行)
└──────────────────────────┘

2.FLASH

┌──────────────────────────┐  
│        中断向量表          │ ← 系统启动代码(如复位向量)
│--------------------------│  
│      .text 代码区         │ ← 程序代码(函数、指令)
│--------------------------│  
│      .rodata 常量区       │ ← 只读数据(常量、字符串)
│--------------------------│  
│      .data 初始值         │ ← 已初始化变量的初始值(运行时复制到RAM的.data区)
│--------------------------│  
│      .bss 信息            │ ← **不占空间**,仅记录.bss段大小(用于启动时清零RAM)
│--------------------------│  
│      其他自定义只读数据     │ ← 配置参数、字体、固件资源等
└──────────────────────────┘
=

http://www.ppmy.cn/devtools/171421.html

相关文章

Java 基于微信小程序的美食推荐系统(附源码,文档)

博主介绍:✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不…

Node.js 包管理配置文件详解:package.json、npmrc、package-lock.json 全面解析

目录 Node.js 包管理配置文件详解 1. package.json:Node.js 项目的核心配置文件 示例:完整的 package.json 配置 关键字段解析 2. package-lock.json:锁定依赖版本 示例:部分 package-lock.json 作用 如果 package-lock.j…

JavaScript 在 Chrome 中运行详解

JavaScript 在 Chrome 中运行详解 引言 JavaScript 是一种广泛使用的编程语言,常用于网页开发中实现动态效果和交互功能。Chrome 浏览器作为全球最受欢迎的浏览器之一,对 JavaScript 的支持非常出色。本文将详细介绍 JavaScript 在 Chrome 中运行的原理、环境以及一些优化技…

Oracle无法正常OPEN(一)

作为DBA在启动数据库时,可能会经常遇到数据库无法正常open的现象,其中原因有很多,今天我们讨论控制文件过旧的场景。即ORA-01207: file is more recent than control file - old control file 一、创建测试数据 SQL> create tablespace t…

spring boot jwt生成token

1、引入jwt依赖 <!--jwt的依赖--> <dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.18.3</version> </dependency> 2、创建TokenUtils工具类 package com.pn.utils;import com.…

html css 网页制作成品——HTML+CSS非遗文化扎染网页设计(5页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…

在 Mac 上使用 Poetry 配置环境变量

在 Mac 上使用 Poetry 配置环境变量&#xff0c;一般可按如下步骤进行&#xff1a; 1. 定位 Poetry 的可执行文件路径 先确认 Poetry 可执行文件的位置。通常&#xff0c;Poetry 安装后&#xff0c;其可执行文件路径类似如下&#xff1a; bash ~/.local/bin/poetry你可以通过…

鸿蒙相机开发实战:从设备适配到性能调优 —— 我的 ArkTS 录像功能落地手记(API 15)

引言&#xff1a;为什么我要写这份开发指南&#xff1f; 作为一名老技术&#xff0c;最近特别喜欢研究鸿蒙相机功能&#xff0c;而且目前已经更新到API15了&#xff0c;那么咱们更要好好研究一下。而且从手持云台到车载记录仪&#xff0c;每个项目都面临独特挑战&#xff1a;车…