lindabell 发表于 2011-11-14 11:40:01

RTT使用SRAM出现no memory for shell的错误(已解决)

我使用了SRAM,但是出现这样的警告

\ | /
- RT -   Thread Operating System
/ | \ 0.4.0 build Nov 13 2011
2006 - 2011 Copyright by rt-thread team
no memory for shell
(shell != RT_NULL) assert failed at finsh_set_device:125

在board中配置
/* whether use board external SRAM memory */
// <e>Use external SRAM memory on the board
//         <i>Enable External SRAM memory
#define STM32_EXT_SRAM          1
//        <o>Begin Address of External SRAM
//                <i>Default: 0x68000000
#define STM32_EXT_SRAM_BEGIN    0x68000000 /* the begining address of external SRAM */
//        <o>End Address of External SRAM
//                <i>Default: 0x68080000
#define STM32_EXT_SRAM_END      0x68100000 /* the end address of external SRAM */
// </e>

我也在EXT_SRAM_Configuration中修改了,而且裸奔也没有问题,应该不是初始化的原因
是不是还有其他的配置啊

lindabell 发表于 2011-11-14 15:49:23

还是没有找到问题所在,郁闷中。。。。

zzm24 发表于 2011-11-14 17:28:31

出现这问题是finsh_system_init()函数上shell 申请不到内存.所以请检查startup.c中rt_system_heap_init()正确没?外部SRAM的确可用?话说回来,对于STM32,STM32 Radio svn上一堆例子,楼主可以参考.

lindabell 发表于 2011-11-14 17:37:52

回复【2楼】zzm24
-----------------------------------------------------------------------
是我配置SRAM的问题,我在一个工程里测试SRAM好用的,就把初始化代码拷到RTT的SRAM去了,其实这段代码少了RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
那时也没想到居然初始化了没有这句话,可恶的居然放在其他的地方了。害的查了一天的程序。
页: [1]
查看完整版本: RTT使用SRAM出现no memory for shell的错误(已解决)