Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
内存释放_free
rt_malloc
堆_heap_动态内存管理
5
关于RT THREAD动态内存分配的几个疑问
发布于 2022-02-09 09:44:53 浏览:1547
订阅该版
关于rtt的动态内存空间分配,想问一下以下我的几点理解是对的吗 1、我看RTT NANO和MASTER版本的动态内存分配好像不太一样,我的理解是MASTER版本的动态内存位置是从ZI段结束地址到RAM结束地址划分作为动态内存,而NANO版本好像是开辟了一个静态数组,这时候的动态内存划分位置就是位于BSS段 2、使用malloc等系统函数分配到的内存是位于ZI段,也就是在启动文件中分配的Heap_Size,而使用rt_malloc申请到的则是RTT分配的空间 然后有以下几个问题 1、如果是动态创建线程,那线程中的局部变量是位于RTT分配的动态内存空间中还是位于栈空间中? 2、如果使用一些第三方库比如CJson,是否需要将库中使用的malloc函数换成rt_malloc
查看更多
3
个回答
默认排序
按发布时间排序
出出啊
2022-02-09
恃人不如自恃,人之为己者不如己之自为也
1. 函数调用中的局部变量是在线程栈上分配的。线程栈内存在哪儿,局部变量就在哪儿。动态创建的线程,线程栈是从堆上申请,局部变量也是在堆内存上(但是,我们还是称呼它们在线程栈内存,跟其它堆申请的内存区分开)。 2. 尽量不用 malloc ,用一种堆管理器管理堆内存。
cottontail
2022-02-09
这家伙很懒,什么也没写!
建议直接看对应的malloc、rt_malloc的实现。虽然malloc是libc的接口,但是也可以在自己的代码中用自己的实现覆盖。
crystal266
2022-02-10
嵌入式
建议使用 rt_malloc,rtt将单片机中未使用的RAM都定义为堆空间,然后 rt_malloc 就是从这部分空间中申请内存,使用的是 rtt 的内存管理。你也可以这样理解,rtt 将 RAM 中未使用的部分当做一个大数组,然后 rt_malloc 都是从这个大数组中进行内存的申请。 ![image.png](https://oss-club.rt-thread.org/uploads/20220210/bbe1896e605c0bf6d98673dd3de563a4.png.webp)
撰写答案
登录
注册新账号
关注者
0
被浏览
1.5k
关于作者
Yuanq
这家伙很懒,什么也没写!
提问
11
回答
0
被采纳
0
关注TA
发私信
相关问题
1
【已解决】bootloader跳转后,内存申请函数失败
2
AT_DEVICE TCP 接收大文件失败!
3
rt_malloc分配失败
4
rt_malloc函数调用时在参数检查时出现断言
5
stm32 hartfault PRECISERR
6
rt_malloc 进入Hardfault
7
h750XBH6 LCD rt_malloc 分配内存失败
8
阿里云物模型例程握手失败
9
rt_malloc 分配的地址问题
10
动态内存申请及释放和大小的设置
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
KunYi
6
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部