我正在用keil uvision(免费版)编译一个项目。我收到以下错误:
.\_build\test.axf: error: L6047U: The size of this image (32992 bytes) exceeds the maximum allowed for this version of the linker
是否有任何标志来优化代码占用空间,就像使用ARM编译器的-Ospace
一样?
答案 0 :(得分:0)
根据the documentation,-Ospace
是默认行为,除非您明确告诉编译器使用-Otime
。在菜单Project->Options for target something->C/C++
中打开配置。您还可以更改优化级别(-O0到-O3),这可能会导致程序更小。如果限制是32768字节,它可能适合!
答案 1 :(得分:0)
L6050U:此图像的代码大小超出了此版本允许的最大值...
1-)如果尚未注册产品,则使用评估版。安装此版本后,您已经超过了项目的代码大小限制。有必要在当地的经销商处购买产品。
2-)如果您已经注册了该产品,则在某些项目对象文件中可能仍然存在以前的评估版安装的信息。删除所有项目目标文件,然后按F7键重建整个项目。
3-)如果您已经注册MDK 7天或30天,并且您的许可证已过期,则也会出现此错误消息。在这种情况下,您可以通过删除C:\ Keil_V5 \ Tools.ini中的LIC0 = ...行来返回到原始Eval版本。
4-)另一个原因可能是您选择了与完全许可产品所支持的体系结构不同的体系结构的设备。切换到支持所选设备的产品。