本帖最后由 lebment 于 2018-12-29 11:24 编辑 Code symbol free defined in non executable section main.o(.data). 这个warnning 具体是什么原因? FatFs CubeMX 5.0生成的代码。MDK最新版编译环境 我只是想问问这种报错,有没有遇到过的,我头一次遇到这种,工程可以运行,想一起讨论这是那些可能的原因造成。 所以我并不想解决这个错误在我的工程里面是怎么来的,想弄明白这个warnning 的可能原因,仅此而已! 已解决! |
直接翻译的话是说:你有符号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文档,查找一下这里:
评分
查看全部评分
工程设置或代码问题,你没个工程,说这个有意义吗?
这个警告只是表象,说明生成main.o时可能有些东西不符合套路,真正的问题不在这。
MDK,这就是全部提示。103RBT6,Fafts 加FreeRTOS 报错。
大佬可以告诉我表象之下更深层次的原因吗?展开分析一下,对以后社区同样问题的人也有帮助!
这是个warning ,我问的就i是warnning,好比我问裤子破了个洞,讨论一下,这个洞怎么来的,可能的原因。
没有吧,改了stack heap而已啊。
大佬正解,小弟佩服,free是我移植原子SPI接口 SD卡,查询剩余容量的变量。果然社区是有高人的!
我可不是什么高人。解决了就好
和你的头像人物一样聪明
我猜楼主的这条警告是因为用了函数指针数组的原因吧, 只是猜