背景:
Freescale(NXP)kinetis MCU在使用FreeRTOS时, 用armgcc gnu编译链(KSD,CW等IDE均使用ARM GCC编译链)时报错:
section `.bss' will not fit in region `m_data'
错误提示其实是bss段超出了m_data的范围,我的MCU内部SRAM大小是64KB, 怎么可能不够用呢?
问题分析:
上面也提到了这是由于.bss段所需内存大于了m_data段所能提供的内存。首先反应去google。找到一篇十分相符的文章:

在Freescale Kinetis MCU上使用FreeRTOS时,遇到`.bss' will not fit in region `m_data'的内存越界错误。分析发现,问题源于在FreeRTOSConfig.h中配置的堆大小超过了MCU内部64KB SRAM的限制,导致栈溢出。合理配置RTOS的栈大小和内存分配,以避免此类问题。
最低0.47元/天 解锁文章
3221

被折叠的 条评论
为什么被折叠?



