Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
关于F429使用外部SDRAM时rt_free出错问题
发布于 2019-12-04 09:34:37 浏览:2755
订阅该版
我在使用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的话,就不存在这个问题,一直没搞懂原因
查看更多
7
个回答
默认排序
按发布时间排序
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
这家伙很懒,什么也没写!
/* 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
这家伙很懒,什么也没写!
>/* SECTION: Memory Management */ >/* Using Memory Pool Management*/ >#define RT_USING_MEMPOOL --- #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 #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
这家伙很懒,什么也没写!
楼主问题解决了吗?遇到了同样的问题。
撰写答案
登录
注册新账号
关注者
0
被浏览
2.8k
关于作者
yezexian
这家伙很懒,什么也没写!
提问
2
回答
2
被采纳
0
关注TA
发私信
相关问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
NXP MCXN947测评(一)开箱+环境配置
2
stm32f103的adc+dma多通道采集数据
3
恩智浦FRDM-MCX947上的 IIC(硬件) 实践
4
栈溢出及中断向量偏移BUG记录与分析
5
NXP MCXN947测评之 adc
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
CAN总线
Hardfault
FinSH
USB
文件系统
RT-Thread
DMA
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
WIZnet_W5500
cubemx
flash
I2C
UART
packages_软件包
freemodbus
潘多拉开发板_Pandora
PWM
定时器
BSP
ADC
keil_MDK
socket
中断
编译报错
MicroPython
Debug
SDIO总线
GD32
msh
rt_mq_消息队列_msg_queue
ulog
C++_cpp
SFUD
本月问答贡献
xiaorui
20
个答案
3
次被采纳
Juggernaut
12
个答案
3
次被采纳
踩姑娘的小蘑菇
12
个答案
2
次被采纳
小小李sunny
10
个答案
2
次被采纳
a1012112796
8
个答案
1
次被采纳
本月文章贡献
ZVML_9668
4
篇文章
6
次点赞
Lu_盼盼
4
篇文章
3
次点赞
Z_Y
3
篇文章
5
次点赞
ThinkCode
2
篇文章
2
次点赞
oxlm
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部