Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
外部SDRam
关于F429使用外部SDRAM时rt_free出错问题
发布于 2019-12-04 09:34:37 浏览:3183
订阅该版
我在使用F429开发板的时候,因为想把外部SDRAM用上,初始化完外部RAM后,读写测试都正常,控制台打印也能显示8M的外部RAM, 做rt-thread管理内存时,rt_malloc是没问题的,但使用rt-free时出现以下错误 ``` ((header_ptr->magic & RT_MEMHEAP_MASK) == RT_MEMHEAP_MAGIC) assertion failed at function:rt_memheap_free, line number:515 ``` 但如果释放的是片内RAM的话,就不存在这个问题,一直没搞懂原因
查看更多
8
个回答
默认排序
按发布时间排序
hichard
认证专家
2019-12-04
这家伙很懒,什么也没写!
先测试下整片SDRAM读写。要分字节操作、半字以及字操作都分别测试
yezexian
2019-12-04
这家伙很懒,什么也没写!
>先测试下整片SDRAM读写。要分字节操作、半字以及字操作都分别测试 --- <<-SDRAM-INFO->> 正在检测SDRAM,以8位、16位、32位的方式读写sdram... <<-SDRAM-INFO->> SDRAM 8位数据读写测试正常!耗时:1522ms <<-SDRAM-INFO->> SDRAM 16位数据读写测试正常!耗时:808ms <<-SDRAM-INFO->> SDRAM 32位数据读写测试正常!耗时:423ms 测试都是正常
hichard
认证专家
2019-12-04
这家伙很懒,什么也没写!
```c /* SECTION: Memory Management */ /* Using Memory Pool Management*/ #define RT_USING_MEMPOOL /* Using Dynamic Heap Management */ #define RT_USING_HEAP /* Using MemHeap as Dynamic Heap Management */ #define RT_USING_MEMHEAP #define RT_USING_MEMHEAP_AS_HEAP rt_system_heap_init((void *)STM32_HEAP_START, (void*)STM32_HEAP_END); { static struct rt_memheap extram_memheap; rt_memheap_init(&extram_memheap, "sdram", (void*)0x80000000, 1024*1024*32); } ```
yezexian
2019-12-04
这家伙很懒,什么也没写!
```c #define RT_USING_MEMPOOL #define RT_USING_MEMHEAP //#define RT_USING_SMALL_MEM #define RT_USING_HEAP #define RT_USING_MEMHEAP_AS_HEAP #define STM32_EXSDRAM_SIZE 8192 #define STM32_EXSDRAM_BEGIN ((uint32_t)0xD0000000) #define STM32_EXSDRAM_END (STM32_EXSDRAM_BEGIN+STM32_EXSDRAM_SIZE*1024) #define STM32_EXSDRAM_HEAP_SIZE ((uint32_t)STM32_EXSDRAM_END-(uint32_t)STM32_EXSDRAM_BEGIN) #if defined(RT_USING_MEMHEAP) && defined(RT_USING_MEMHEAP_AS_HEAP) rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get()); rt_memheap_init(&system_heap, "sram2", (void *)STM32_EXSDRAM_BEGIN, STM32_EXSDRAM_HEAP_SIZE); #else rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get()); #endif ``` ``` msh >free memheap pool size max used size available size -------- ---------- ------------- -------------- sram2 8388608 48 8388560 heap 4096 3240 1540 ```
tiangaomingjing
2020-05-17
这家伙很懒,什么也没写!
``` ((header_ptr->magic & RT_MEMHEAP_MASK) == RT_MEMHEAP_MAGIC) assertion failed at function:rt_memheap_free, line number:515 ``` ```c #ifdef RT_USING_MEMHEAP_AS_HEAP #define SDRAM_SYSTEM_HEAP_BANK_ADDR_START (LCD_FRAME_BUF_ADDR + 4*800*480+512) #define SDRAM_SYSTEM_HEAP_BANK_ADDR_END (LCD_FRAME_BUF_ADDR + 32*1024*1024) #define SDRAM_SIZE ((uint32_t)(SDRAM_SYSTEM_HEAP_BANK_ADDR_END - SDRAM_SYSTEM_HEAP_BANK_ADDR_START)) static struct rt_memheap system_heap; rt_memheap_init(&system_heap, "sdram", (void *)SDRAM_SYSTEM_HEAP_BANK_ADDR_START, RT_ALIGN_DOWN(SDRAM_SIZE,4)); #endif ``` 我也遇到同样的问题!!! 求解。 SDRAM上一部分留给LCD用,下一部分给RTT。只有屏蔽LCD才正确。 请问如何解决这个问题??
ys-123
2021-07-08
这家伙很懒,什么也没写!
楼主问题解决了吗?遇到了同样的问题。
WONG
2023-08-04
这家伙很懒,什么也没写!
楼主问题解决了吗?遇到了同样的问题。
重头来过
2024-10-16
这家伙很懒,什么也没写!
我也遇到这个问题, 插入仿真器时,可以通过rt_free释放内存,去掉仿真器,rt_free运行到 ``` RT_ASSERT((header_ptr->next->magic & RT_MEMHEAP_MASK) == RT_MEMHEAP_MAGIC); ``` 就死机
撰写答案
登录
注册新账号
关注者
0
被浏览
3.2k
关于作者
yezexian
这家伙很懒,什么也没写!
提问
2
回答
2
被采纳
0
关注TA
发私信
相关问题
1
RT1052 开发板 RTT_HEAP 设置到外部SDRam 系统 崩溃
2
求问keil+env怎么才能把变量定义到外扩SDRAM上啊?
3
定义数组到SDRAM
4
rt-thread中的lvgl怎样才使用外部RAM
5
rt-thread移植lvgl时怎样用分配外部RAM的 存储空间 给绘图缓存,谁能教我一下
6
RTT使用外扩堆栈启动时,动态线程需要的栈空间无法分配
推荐文章
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
RTduino物联网应用零基础入门
2
TinyUSB Demo运行教程
3
RT-Thread学习大礼包一键带走!
4
freemodbus从机调试说明
5
【1024】瑞萨 RA 系列 BSP 制作与适配最新版本的 Keil 、 RSC、固件,较新的 FSP
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
cubemx
PWM
flash
packages_软件包
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
C++_cpp
at_device
本月问答贡献
张世争
8
个答案
2
次被采纳
用户名由3_15位
10
个答案
1
次被采纳
KunYi
4
个答案
1
次被采纳
踩姑娘的小蘑菇
2
个答案
1
次被采纳
bernard
1
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
4
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部