又是一篇关于GD32堆栈的梳理+FreeRTOS的空间

GD32F103CB:SRAM 20K(0x5000)

这篇文章主要想讲清楚几个事情:

1、启动文件Stack_Size、Heap_Size的大小设置有啥影响;

2、FreeRTOS的内存:FreeRTOSConfig.h文件configTOTAL_HEAP_SIZE;


问题2,好解释,先来说它

FreeRTOS任务里面的内存的开销都是从ucHeap里面进行,实际上它就是个全局变量,它存在ZI-data里面(ZI-data介绍文章):未初始化或者初始化为0的变量空间。如图:ZI-data=15836里面有10k是ucHeap。

查看map文件,搜索ucHeap可以看大它的存储地址


先讲结论:Heap_Size在我的代码中不起作用,Stack_Size则最终决定栈顶的地址。

先看启动文件关于栈Stack_Size、堆Heap_Size的设置

程序需要的SRAM分配完后,地址落在0x200030b8

启动文件:Stack_Size 设置0x1000:栈顶=0x200030b8+0x1000

启动文件:Stack_Size设置0x0500:栈顶=0x200030b8+0x0500

Heap_size设多少都没反应;(应该是程序中没用到例如malloc,编译后,优化删除了)

推出GD32的SRAM的分配流程:

(1)从0x2000000开始往上,一个一个变量分配地址;

(2)分配ucHeap从0x200008b8开始,因为它有10K(0x2800),所以到0x200030b8分配完;

(3)接下来是分配栈STACK,从0x200030b8开始,栈的大小启动文件设定的0x1000,所以栈顶地址是0x200040b8

总结:先按照程序的变量分配SRAM,分配完后,才根据stack设定的大小确定栈顶地址initial_sp的大小。栈顶地址不能比SRAM最大地址大,因为GD32F103CB它有20K,对应0x5000地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/37029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

讯飞星火V4.0 发布,全面对标GPT-4 Turbo

6月27日,讯飞星火V4.0如期而至,升级成为更懂你的AI助手。 七大核心能力持续突破,全面对标GPT-4 Turbo。在8个国际主流测试集中排名第一,讯飞星火以一份惹眼的成绩单,成为国内大模型的先行者。 发布会现场&#xff0c…

用数组模拟栈实现递归函数模拟

做算法课设时候看到题目要求模拟函数递归时候栈的入栈出栈过程。本来想着直接调用系统递归函数即可,可是发现系统函数栈的空间非常小大约只有3000层,很容易爆栈。于是便有了用栈去模拟递归函数的想法,但是上网查了下貌似相关代码比较少&#…

小马搬运物品-第13届蓝桥杯省赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第89讲。 小马搬运物品&…

如何与Honda建立EDI连接?

你是本田Honda的新供应商,需要具备EDI电子数据交换功能吗?在与本田Honda交换EDI消息时需要帮助吗?本文将带你快速了解Honda的EDI需求,明确EDI对接需要完成的工作。 项目背景 本田是一家世界领先的汽车制造商,在全球2…

仓库选址问题【数学规划的应用(含代码)】阿里达院MindOpt

本文主要讲述使用MindOpt工具优化仓库选址的数学规划问题。 视频讲解👈👈👈👈👈👈👈👈👈 一、案例场景 仓库选址问题在现代物流和供应链管理中具有重要的应用。因为仓库…

《数据结构与算法基础 by王卓老师》学习笔记——2.2线性表的案例引入

案例一:一元多项式的运算 案例二:稀疏多项式的运算 案例三:图书信息管理系统 总结

【Leetcode】520. 检测大写字母

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 “USA” 。单词中所有字母都不是大写,比如 “le…

同心创建 共践食安 | 赵梦澈荣获食品安全大使

“民族要复兴,乡村必振兴”,为深入贯彻落实国家乡村振兴战略,推进乡村全面振兴不断取得新成效,助力全国优质食品农产品的宣传推广、市场营销、品牌创建工作,由中国食品安全报社主办,商业发展中心、健康中国…

python数据分析与可视化一

公共部分 # 引入数据分析工具 Pandas import pandas as pd # 引入数据可视化工具 Matplotlib import matplotlib.pyplot as plt # 引入数据可视化工具 Seaborn (基于matplotlib) import seaborn as sns # 解决输出时的列名对齐问题 pd.set_option(display.unicode.east_…

如何申请免费SSL证书以消除访问网站显示连接不安全提醒

在当今互联网时代,网络安全已成为一个不可忽视的问题。当用户浏览一些网站时,有时会看到浏览器地址栏出现“不安全”的提示,这意味着该网站没有安装SSL证书,数据传输可能存在风险。那么,如何消除这种不安全提醒&#x…

仓库管理系统16--入库管理

原创不易&#xff0c;打字不易&#xff0c;截图不易&#xff0c;多多点赞&#xff0c;送人玫瑰&#xff0c;留有余香&#xff0c;财务自由明日实现。 1、创建物资入库用户控件 <UserControl x:Class"West.StoreMgr.View.InStoreView"xmlns"http://schema…

CAS自旋解析

CAS全称CompareAndSwap(比较并交换)&#xff0c;是cpu的指令&#xff0c;调用时不涉及上下文的切换。Java中属于乐观锁的一种&#xff0c;具体流程如下图&#xff1a; 具体的实现使用的是Unsafe类去调用native修饰的compareAndSwap方法&#xff0c;4个字段分别是对象实例&#…

PTA—C语言期末复习(判断题)

1. C语言程序是从源文件的第一条语句开始执行的 &#xff08;F&#xff09; 在 C 语言中&#xff0c;程序是从 main 函数开始执行的&#xff0c;而不是从源文件的第一条语句开始执行 2. 若变量定义为double x;&#xff0c;则x % 2是符合C语言语法的表达式 &#xff08;F&#…

HTML流星雨

目录 写在前面 完整代码 代码分析 系列文章 写在最后 写在前面 岁月如梭&#xff0c;光阴似箭&#xff0c;不知不觉暑假就要来喽&#xff0c;本期小编用HTML给大家手搓了一个炫酷的流星雨动画&#xff0c;一起来看看吧。 完整代码 <!DOCTYPE html> <html lang…

项目风险管理系统有哪些?分享11款主流项目管理系统

本文将分享11款主流项目管理系统&#xff1a;PingCode、Worktile、StandardFusion、MasterControl、ClickUp、SAI360、Netwrix Auditor、MetricStream、Wrike、Celoxis、Zoho Projects。 在项目管理中&#xff0c;风险管理不仅是一个挑战&#xff0c;也是保证项目顺利进行的关键…

Linux Redis 服务设置开机自启动

文章目录 前言一、准备工作二、操作步骤2.1 修改redis.conf文件2.2 创建启动脚本2.3 设置redis 脚本权限2.4 设置开机启动2.5 验证 总结 前言 请各大网友尊重本人原创知识分享&#xff0c;谨记本人博客&#xff1a;南国以南i、 提示&#xff1a;以下是本篇文章正文内容&#x…

编程的难点在哪?是逻辑、算法,还是模块、框架的掌握?

&#x1f446;点击关注 回复『新人礼』获取学习礼包&#x1f446; 很多新手程序员在一开始都是满怀热情地投入到编程的学习&#xff0c;但却在学习过程中处处碰壁&#xff0c;导致放弃。 编程的难点在于逻辑、数学、算法&#xff0c;还是模块、框架、接口的掌握&#xff1f;但…

idea Error running ‘Application‘

1、Error running ‘Application’ Error running ApplicationError running Application. Command line is too long.Shorten the command line via JAR manifest or via a classpath file and rerun.找到 .idea/libraies/workspace.xml 中的 PropertiesComponent 属性&#…

大模型赋能全链路可观测性:运维效能的革新之旅

目录 全链路可观测工程与大模型结合---提升运维效能 可观测性&#xff08;Observability&#xff09;在IT系统中的应用及其重要性 统一建设可观测数据 统一建设可观测数据的策略与流程 全链路的构成和监控形态 云上的全链路可视方案 为什么一定是Copilot 大模型的Copilo…

mov和mp4区别是什么?苹果的原创和时代的宠儿

在数字媒体领域&#xff0c;视频格式的选择往往决定了观看体验的质量和文件的兼容性。在众多视频格式中&#xff0c;MOV和MP4无疑是最具代表性的两种&#xff0c;它们分别承载着苹果和互联网世界的技术革新与历史变迁。本文将带您穿越时间的长廊&#xff0c;探索MOV与MP4的发展…