`.bss' will not fit in region `m_data' 内存越界

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景: 

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。找到一篇十分相符的文章:
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值