lebment 发表于 2018-12-28 20:20:41

罕见编译的warrning!

本帖最后由 lebment 于 2018-12-29 11:24 编辑

Code symbol free defined in non executable section main.o(.data).这个warnning 具体是什么原因?

FatFs    CubeMX 5.0生成的代码。MDK最新版编译环境


我只是想问问这种报错,有没有遇到过的,我头一次遇到这种,工程可以运行,想一起讨论这是那些可能的原因造成。
所以我并不想解决这个错误在我的工程里面是怎么来的,想弄明白这个warnning 的可能原因,仅此而已!


已解决!

watershade 发表于 2018-12-29 11:58:43

本帖最后由 watershade 于 2018-12-29 12:06 编辑

直接翻译的话是说:你有符号free定义在非代码执行段。
你的这个警告编号应该是:L6171W (Code symbol <symname> defined in non executable section <secname>)
你的原文是:Code symbol free defined in non executable section main.o(.data)
所以free是symname, secname 是main.o(.data)
这个警告是armlink发现的。应该发生在链接阶段。你先找一下free这个变量你是怎么定义的。
(怎么会有人敢用free来做变量名?)

可以查看这里和这里
很奇怪,我没有找到关于这一条警告的详细文档。你应该还用的Arm Compiler 5的版本的keil吧。我再Arm Compiler6里面没有查到。你试着打开你的keil上面的help文档,查找一下这里:


TLLED 发表于 2018-12-28 21:34:42

什么编译器,编译出来的结果,全部提示是什么

toofree 发表于 2018-12-29 00:15:15

本帖最后由 toofree 于 2018-12-29 00:18 编辑

工程设置或代码问题,你没个工程,说这个有意义吗?
这个警告只是表象,说明生成main.o时可能有些东西不符合套路,真正的问题不在这。

stm1024 发表于 2018-12-29 08:14:43

你是不是在startup里面加了点料?

tanic 发表于 2018-12-29 10:42:04

RT:/

lebment 发表于 2018-12-29 10:53:52

TLLED 发表于 2018-12-28 21:34
什么编译器,编译出来的结果,全部提示是什么

MDK,这就是全部提示。103RBT6,Fafts 加FreeRTOS 报错。

lebment 发表于 2018-12-29 10:57:34

toofree 发表于 2018-12-29 00:15
工程设置或代码问题,你没个工程,说这个有意义吗?
这个警告只是表象,说明生成main.o时可能有些东西不符 ...

大佬可以告诉我表象之下更深层次的原因吗?展开分析一下,对以后社区同样问题的人也有帮助!

lebment 发表于 2018-12-29 10:59:07

tanic 发表于 2018-12-29 10:42
RT:/

这是个warning ,我问的就i是warnning,好比我问裤子破了个洞,讨论一下,这个洞怎么来的,可能的原因。

lebment 发表于 2018-12-29 11:02:41

stm1024 发表于 2018-12-29 08:14
你是不是在startup里面加了点料?

没有吧,改了stack heap而已啊。
页: [1] 2
查看完整版本: 罕见编译的warrning!