问题:Error:..\FreeRTOS\port\MemMang\heap_4.c,236

博客讨论了在F407硬件和V0.1.0软件版本中遇到的FreeRTOS内存分配问题。错误源于START_STK_SIZE设置过小以及任务内malloc分配内存不足。解决方案是将START_STK_SIZE增大到64或128,并调整任务内malloc的内存分配大小。

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

Error:..\FreeRTOS\port\MemMang\heap_4.c,236

Firmware name: -F407, hardware version: V1.0.0, software version: V0.1.0
Fault on interrupt or bare metal(no OS) environment
===== Thread stack information =====
  addr: 2001d670    data: 00000000
  addr: 2001d674    data: 00000000
  addr: 2001d678    data: 00000000
  addr: 2001d67c    data: 00000000
  addr: 2001d680    data: 08018e34
  addr: 2001d684    data: 00000000
  addr: 2001d688    data: 00a0a000
  addr: 2001d68c    data: 08016a87
  addr: 2001d690    data: 00000000
  addr: 2001d694    data: 00000000
  addr: 2001d698    data: 20000008
  addr: 2001d69c    data: 08008a15
  addr: 2001d6a0    data: 00000001

意思是某一个任务的堆设置得太小了;

经查是 START_STK_SIZE 设置得太小了(32),改成64或128即可。  还有就是任务里面有一个指针malloc内存太小太小了,分配了10个,改成20个就好了。

Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.bss). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_stm32f103xb.o(STACK). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching freertos.o(.bss). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching tasks.o(.bss). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.bss). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching i2c.o(.bss). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching stm32f1xx_hal_timebase_tim.o(.bss). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching tasks.o(.data). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching freertos.o(.data). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching heap_4.o(.data). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching rtc.o(.bss). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching stm32f1xx_hal.o(.data). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching port.o(.data). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching system_stm32f1xx.o(.data). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching stdout.o(.data). Light_system\Light_system.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.data). Light_system\Light_system.axf: E
03-16
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值