shenfeipascal 发表于 2011-1-8 06:18:07

在使用rt-thread(4.0-Beta1)进行外部扩展SRAM时的问题

在使用rt-thread(4.0-Beta1)进行外部扩展SRAM(IS61LV25616AL-10TL)实验时出现了以下错误:
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_609840E0EBY5.JPG
rt-thread,4.0(beta)中关于外部扩展SRAM的出错情况 (原文件名:rtthread(4.0beta)2.JPG)
使用相同的开发板(STM32F103ZET6)装入3.1的OS时SRAM使用正常,所以应该不是硬件问题。并且比较后发现4.0与3.1版的FSMC初始化程序一样,在程序调试时使用了RT_MEM_DEBUG功能,下完程序重启板子时出现了((rt_uint32_t)mem + SIZEOF_STRUCT_MEM + size <= (rt_uint32_t)heap_end) assert failed at rt_malloc:325 错误,请问((rt_uint32_t)mem + SIZEOF_STRUCT_MEM + size)的大小应该怎样设置。以下是扩展SRAM的设置代码段(in file board.h):
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_609841Q6TLMN.JPG
rt-thread(4.0Beta)在使用外部SRAM时的设置 (原文件名:rtthread(4.0beta)3.JPG)

希望各路高手能帮我解答。

PS:发个4.0Beta1精简工程(环境为IAR5.4,RTOS中有两个系统线程,一个用户LED线程,只是用了finsh功能)
可以正常编译运行的rt-thread(4.0Beta1),环境IAR5.4ourdev_609842HOR7PH.rar(文件大小:510K) (原文件名:rt-thread-0.4.0 beta1(V1.0.0).rar)

aozima 发表于 2011-1-8 14:05:03

请先在finsh里面执行一下 list_mem() 看堆是否已初始化成功.
然后检查heap初始化部分.最好跟综调试一下.

shenfeipascal 发表于 2011-1-8 14:29:52

回复【1楼】aozima
-----------------------------------------------------------------------

好的,我试试,多谢

林州 发表于 2012-12-28 15:11:58

研究研究
页: [1]
查看完整版本: 在使用rt-thread(4.0-Beta1)进行外部扩展SRAM时的问题