这个报错要怎样解决啊
Error: section placement failedunable to allocate space for sections/blocks with a total estimated minimum size of 0x2214 bytes (max align 0x1) in <> (total uncommitted space 0x1f80).
软件用的是IAR
上网查了下是程序溢出的问题
你厉害,没程序,怎么知道如何解决?
用的什么MCU,0x008000-0x009fff是什么空间,ram还是flash?
STM32的话,flash是在0x0800 0000的地址以后。
如果0x008000-0x009fff是ram空间,那么说明你的程序开的变量或数组太大了,减小一点就没问题了。
从你能问这个问题来看,应该是新手,那么可能你用了液晶显示或字库之类的,但是你在定义变量数组时前面没有加 const 修饰。 有进行过单步调试吗?贴个代码看看 2楼基本回答的是对的。。。ram超出MCU的最大值了。。。如果是自己玩玩,可以选择相同类型的高ram的MCU,依然是可以的,而且也可以下载到mcu,至于原因嘛,同一类型的mcu,都是从一个核心板上面切割下来的,只是检测的时候,某些不通过就会封装成不同的型号。。。所以这个样可以玩玩,但是不能量产!!! 本帖最后由 stm1024 于 2018-6-4 17:31 编辑
1.你的整个代码会不会超级长?或者包含了一堆并没有用到的头文件或者函数?
2.你是不是搞了一个超级大的数组,例如包含图片数据的数组之类的?
3.动态内存分配的时候有没有分配一个超级大的block?(通常这个编译的时候不会有问题,但是调试的时候会挂)
楼主高兴了换个大容量的芯片测试下,就会发现这个问题解决了 检查数组溢出,字节分配出错 如果使用IAR的骚年们 这个报错是我加了printf重定向之后出现的我把Option--C/C++ compile--Optimizations中的Level选为High就好了 赞同2l的,检查检查全局变量的数组是不是有定义特别大的,简化代码。
页:
[1]