自上篇文章,终于可以下载程序到芯片中.然后用ST-LINK在线调试,发现跑到RT-THREAD中的
rt_system_heap_init函数就不出来,跟踪进入
在两者中间就出现硬件错误的中断.
查看一下HEAP初始化的大小
可以明显看到错误在HEAP的尾地址.
看一下调用的参数
rt_system_heap_init((void*)STM32_SRAM_BEGIN, (void*)STM32_SRAM_END);
问题就在STM32_SRAM_END这里,上图看一下
修改后的参数为
// </e>
// <o> Internal SRAM memory size[Kbytes] <4-16>
// <i>Default: 64
#define STM32_SRAM_SIZE 16
#define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024
配置rtconfig.h文件的RT_ALIGN_SIZE参数为4
原因如下:
运行程序,终于没有出错了.
博文来自:http://blog.csdn.net/lan120576664?viewmode=contents