Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
DIY综合交流区
[RealTouch例程]内存管理之rt_realloc和rt_free
发布于 2012-08-29 07:27:16 浏览:6082
订阅该版
实验目的 ? 快速熟悉了解动态内存的API rt_realloc。 硬件说明 本实验使用RT-Thread官方的Realtouch开发板作为实验平台。涉及到的硬件主要为 ? 串口3,作为rt_kprintf输出,需要连接JTAG扩展板 具体请参见《Realtouch开发板使用手册》 实验原理及程序结构 实验设计 rt_realloc用于需要重新分配内存的应用场景。当原先通过 rt_malloc 申请的内存块因为太小而不能满足应用需求时,可以使用 rt_realloc 进行重新分配。内存管理器会查询原有内存块后是否有足够的空闲内存来分配,如果是,则直接将原有内存块空间扩大,返还给申请者;否则从内存堆中重新找一块新的空间返还给申请者,并将原有内存块空间释放。 源程序说明 本实验对应1_kernel_mem_realloc 系统依赖 在rtconfig.h中需要开启 ``` #define RT_USING_HEAP``` 此项可选,开启此项可以创建动态线程和动态信号量,如果使用静态线程和静态信号量,则此项不是必要的 ``` #define RT_USING_CONSOLE``` 此项必须,本实验使用rt_kprintf向串口打印按键信息,因此需要开启此项 主程序说明 我们在这里只创建一个静态线程来演示动态内存的分配,重新分配和释放。 线程TCB和栈 ```struct rt_thread thread1; char thread1_stack[512]; ```线程入口程序 ```void thread1_entry(void* parameter) { int i,j = 1; char *ptr[10]; /* 用于放置10个分配内存块的指针*/ /* 对指针清零*/ for (i = 0; i <10; i ++) ptr* = RT_NULL; while(j--) { for (i = 0; i <10; i++) { /* 每次分配(1 <
查看更多
3
个回答
默认排序
按发布时间排序
ptz19861212
2013-06-20
这家伙很懒,什么也没写!
这个代码好像有问题,我使用的环境是keil 4.71.2, rt-thread 1.1.0正式版,stm32f10x系列,使用MDK软件模拟,rt_malloc 配合 rt_free 没有问题,但是增加了 rt_realloc就出问题了,问题现象如下: ``` | / - RT - Thread Operating System / | 1.1.0 build Jun 20 2013 2006 - 2012 Copyright by rt-thread team rtc is not configured please configure with set_date and set_time get memory: 0x20001e44 memory realloc success! (mem->used) assert failed at rt_free:529 ```
jiezhi320
2013-12-22
这家伙很懒,什么也没写!
楼上 ,做如下宏定义 即可解决 #define RT_ALIGN_SIZE 8 你自己的应该是这么设置的 #define RT_ALIGN_SIZE 4
撰写答案
登录
注册新账号
关注者
0
被浏览
6.1k
关于作者
shaolin
这家伙很懒,什么也没写!
提问
115
回答
444
被采纳
0
关注TA
发私信
相关问题
1
[项目]搞个开源的硬件项目
2
硬件计划贴,及时更新,欢迎提意见
3
软件计划贴,及时更新,欢迎提意见::WMA,MOUNT,LWIP等问题急需解决.
4
MMS协议
5
定点的wma解压库-libwma
6
QQ群记录 [20090821]
7
STM32网络收音机PCB报名征集
8
第一版调试记录
9
第二版硬件讨论
10
RADIO项目相关模块规格--欢迎大家自己做板时规格与此兼容,减少重复劳动
推荐文章
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
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
3
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部