发布时间:2026/8/16 21:47:46
嵌入式系统C语言资源分类与内存分布分析 1.C语言存储分类总览在C语言/嵌入式程序运行中内存通常被划分为以下几个主要区域代码段Code Segment / .text用于存放程序的机器指令即编译后的代码。这部分通常是只读的以防止程序在运行时意外修改指令。数据段Data Segment / .data存放程序中已初始化的全局变量和静态变量。BSS段.bss存放程序中未初始化的或初始化为0的全局变量和静态变量。BSS不占用可执行文件的实体存储空间只记录所需空间大小。堆Heap用于程序运行时的动态内存分配如C语言中的malloc/free。这部分内存由程序员手动申请和释放若不释放容易造成内存泄漏。其生长方向通常是向高地址生长的。栈Stack用于存放局部变量、函数参数、返回地址、中断现场保护数据等。由编译器/CPU自动分配和释放。其生长方向通常是向低地址生长的。2.C变量到底住哪里3. 常见误区const 全局住.rodata只读const 局部绝大多数还是栈只有编译器优化后可能放到 .rodata函数内static不占栈编译期就分好 RAM位置.data 或 .bss只是作用域限制在函数内4. .data vs .bss关键差异5. 堆 vs 栈6. 每个线程的栈从哪来关键每个RTOS线程有独立的栈。栈本身住在哪里看创建方式rt_thread_t t rt_thread_create(foo, foo_entry, NULL, 8 * 1024, // ← 栈大小 8 KB 15, 10);rt_thread_create内部调用rt_malloc(stack_size)从堆里分配栈所以主线程 / 内核线程等在启动时静态分配不吃heap线程越多heap越吃紧7.内存(RAM)、堆、栈、Flash 之间的关系在嵌入式硬件语境下Flash通常等同于只读存储器ROM断电不丢失数据而内存Memory通常指静态或动态随机存储器SRAM/SDRAM/RAM断电会丢失数据。在大多数嵌入式系统如基于ARM Cortex-M的单片机中RAM的物理地址是从低到高排列的。软件层面将这块物理空间划分成了如下结构它们的关系可以从物理存储和程序运行两个维度来理解1. 物理层面的包含关系内存RAM包含了堆和栈。堆和栈只是RAM在软件层面上划分出来的两块不同用途的工作区域。内存RAM还包含了数据段和BSS段的运行时状态。2. 程序断电与通电启动时的Flash与RAM的关系烧录/断电状态下仅FlashFlash中不仅存储了代码段程序指令和常量区如const修饰的全局变量、字符串常量还存储了数据段Data的初始值。因为RAM断电会丢失数据全局/静态变量的初始值必须保存在Flash中。嵌入式系统上电复位时会执行一段启动代码Startup Code它会做两件关键的事情将Flash中存储的数据段初始值拷贝到RAM的数据段中。在RAM中划分出一块区域作为BSS段并将其全部清零。初始化栈指针SP将RAM剩下的空间按需划分为堆Heap和栈Stack供程序运行使用。3. 堆Heap与 栈Stack在内存中的博弈在有限的嵌入式RAM中堆和栈通常位于未使用RAM区域的两端栈Stack通常位于较高地址向下低地址生长。堆Heap通常位于较低地址向上高地址生长。关系与风险两者共享剩余的RAM空间。如果局部变量开辟过大如深层递归、巨大的局部数组或者动态分配内存过多导致堆和栈的边界相撞就会发生栈溢出Stack Overflow这是嵌入式系统程序崩溃的常见原因。总结Flash是代码和初始数据的“永久仓库”内存RAM是程序运行的“临时工作台”。在RAM这个工作台上数据段和BSS段放的是长期的“公共工具”全局/静态变量栈放的是随用随扔的“临时草稿”局部变量而堆则是根据需要随时划出来的“自由拼装区”动态内存

相关新闻

2026/8/16 21:42:45

怎么让AI做表格?AI导出鸭苹果版将各大AI模型输出的管道/空格/JSON表格统一解析为结构化数据,一键导出Excel或Word标准表格。

怎么让AI做表格?AI导出鸭苹果版将各大AI模型输出的管道/空格/JSON表格统一解析为结构化数据,一键导出Excel或Word标准表格。正文 当今主流AI大模型(ChatGPT、DeepSeek、豆包、千问、Kimi等)都能生成表格,但输出格式五花…

2026/8/16 21:42:45

【多模态】22-基于Pydantic的多模态LLM应用

案例目标 本案例展示了如何使用Pydantic从多模态大语言模型中提取结构化数据。主要目标包括: 使用OpenAI GPT-4V、Fuyu-8B、LLaVA、CogVLM和MiniGPT-4等多模态模型分析图像内容通过Pydantic定义数据模型,将非结构化图像内容转换为结构化数据比较不同多…

2026/8/16 22:47:51

深入理解Git核心原理:从版本控制到高效团队协作

1. 从“版本控制”到“团队协作”:为什么Git值得你投入时间 如果你是一名开发者,或者任何需要处理文本文件(比如写论文、做设计、写博客)的人,你大概率听过Git。它常常和“版本控制”、“代码管理”这些听起来有点技术…

2026/8/16 22:47:51

KKCE: 基于TCPing的平台,全球300+节点-快快测

一、引言:为什么 TCPing 显示 RTT 30ms,API 首字节却要 300ms? 在排查网络延迟时,我们习惯用 TCPing 测一个端口,看到往返时间(RTT)只有 30ms,便认为这条链路“很快”。 但真实用户…

2026/8/16 22:47:51

【AIGC】创意领域,AI 的短板不是执行力,而是“选择“

看了大佬的公众号文章 看到大佬的一个观点:“AI可以生成画面,真正打动人的,永远是创意、情感与表达。” Fetched https://mp.weixin.qq.com/s/SzruwxKujK2bEehkpWRV8g 文章分析 这篇文章来自公众号「AI音乐影像计划」,标题是 《一个57岁的老头在酒店大堂飞了起来。史上…

2026/8/16 22:47:51

基于 PlantUML 的软件系统行为建模:图表选型、描述规范与乙方交付要求

摘要 在软件外包开发中,甲方需求与乙方实现之间的偏差常源于“操作流程”与“数据逻辑”描述不精确。本文系统梳理了 PlantUML 可支持的5种核心图表(用例图、活动图、时序图、状态图、组件图),明确每种图表所对应的建模维度——功能边界、页面跳转、数据交互、状态变更及模…

2026/8/16 22:47:51

UE5FPS游戏开发教程(三)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、开火射击模块1.制作开火蒙太奇动画2.使用MetaSound实现音效3.添加开火Niagara特效4.实现开火时生成弹壳5.实现武器后坐力效果6.添加击中特效和音效7.优化生成…

2026/8/16 22:42:51

第 5 章 SVPWM 空间矢量调制:FOC 的最后一块拼图

前言前面四章,我们已经完成了:六步换相实战Clark 变换:三相 → 两相静止 αβPark 变换:交流 → 直流 dq电流 PI 闭环:得到 Vd​,Vq​反 Park 变换:得到控制电压 Vα​,Vβ​现在我们手里有了 α-β 坐标系…

2026/8/16 0:00:35

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:36

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/16 0:00:35

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:36

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/15 9:46:39

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/16 16:53:03

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/15 9:46:30

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…