打印
[STM32L0]

求助 cubnemx生成 keil 5 做串口练习 编译出错 没有提示

[复制链接]
1151|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jinxiang1981|  楼主 | 2017-7-2 19:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32L011_UART_20170702\STM32L011_UART_20170702.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_stm32l011xx.o(STACK).
STM32L011_UART_20170702\STM32L011_UART_20170702.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.bss).
STM32L011_UART_20170702\STM32L011_UART_20170702.axf: Error: L6406E: No space in execution regions with .ANY selector matching system_stm32l0xx.o(.data).
STM32L011_UART_20170702\STM32L011_UART_20170702.axf: Error: L6406E: No space in execution regions with .ANY selector matching stm32l0xx_hal.o(.data).
STM32L011_UART_20170702\STM32L011_UART_20170702.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.data).
STM32L011_UART_20170702\STM32L011_UART_20170702.axf: Error: L6407E: Sections of aggregate size 0x47c bytes could not fit into .ANY selector(s).
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 0 warning and 6 error messages.
"STM32L011_UART_20170702\STM32L011_UART_20170702.axf" - 6 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:20
沙发
戈卫东| | 2017-7-2 20:17 | 只看该作者
似乎是BUG。

使用特权

评论回复
板凳
戈卫东| | 2017-7-2 20:19 | 只看该作者
Cube给出的LINKER描述和MDK的器件描述无法适配。

使用特权

评论回复
地板
天灵灵地灵灵| | 2017-7-2 20:29 | 只看该作者
在开发过程当中遇到Keil build错误,检查发现时是链接时出错了。

错误内容为:

Error: L6406E: No space in execution regions with .ANY selector matching

Error: L6407E: Sections of aggregate size 0x44 bytes could not fit into .ANY selector

怀疑有可能某些段的size溢出了。



因为使用的ARM芯片内置flash为64KB,RAM = 8KB,因此不太可能是flash溢出了,很可能是RAM溢出了。

所以尝试了两种解决方法:

第一种是将keil option里面的编译优化选项,从level 0 调高到level 2,看看经过优化还会不会有溢出的问题。

实验的结果是没有溢出了,所以怀疑某些段溢出这个定论是对的,下一步就是要区分是RAM还是Flash溢出了。



第二种,是将一个比较大的函数挂载数组定义成const,也就是放在flash里面,再次build,发现错误也消失了。

看来果然是RAM溢出了。

使用特权

评论回复
5
天灵灵地灵灵| | 2017-7-2 20:30 | 只看该作者
别人发的日志,应该可以解决你的问题,试试看。

使用特权

评论回复
6
jinxiang1981|  楼主 | 2017-7-2 20:52 | 只看该作者
天灵灵地灵灵 发表于 2017-7-2 20:30
别人发的日志,应该可以解决你的问题,试试看。

谢谢

使用特权

评论回复
7
jinxiang1981|  楼主 | 2017-7-2 20:59 | 只看该作者
戈卫东 发表于 2017-7-2 20:19
Cube给出的LINKER描述和MDK的器件描述无法适配。

cubemx  生成keil  编译 能通过   加入一些语句之后就这样了  可能是 ram溢出了  ram 2kbyte   我也不是很懂  谢谢啦  

使用特权

评论回复
8
mark0668| | 2017-7-2 21:41 | 只看该作者
RAM 不够

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

201

帖子

3

粉丝