① IAR编译错误,请高手给看看是怎么回事
这是说明你的代码量超出了你预设的rom大小,一般iar编译程序后会根据一个
xxx.xcl文件把你的代码和数据链接到指定地址,iar的文件夹里面搜搜就能搜到,"-z(code)code=romstart-romend"是说你所有的代码都放置在以romstart为起始地址,romend为终止地址的一段连续的空间内,romstart为0x4000016c,romend为40003fff,貌似是个有16k
flash的arm。上面报错是因为你编译出来的code
size
是0x58b4,已经超过了这个空间,你能做的就是看看能不能缩减代码量。
② 求助!在IAR环境下编译程序时总是编译不对!
看看是不是开了另外一个窗口在debugging,如果有的话点击stop debugging(红色按钮)
就好了
③ IAR 里 程序编译错误: Error[Lp011]: section placement failed: 怎么回事啊 这是
该错误提示内存不足。最大牌的做法是换MCU或则增加外部内存,其次软件上,将一些不变的数组前加const关键字,将其存放于flash中,还有尽量减少使用全局变量、数组、结构体等。
④ iar软件里cannot open source file "common.h",跟着野火k60教程学习,配置完编译就一堆错,都是这种
这是编译器报错提示“找不到common.h的头文件”,这种情况一般是你的commonl.h的头文件不在IAR默认的include PATH路径中,解决很简单,你只需要给编译器的include PATH 添加一下你的这些自定义头文件路径就可以了。IAR没用过,不过主流的编译器include路径配置一般都在工程的选项配置菜单中,你仔细找找好了。
注意: 工程文件的路径中 不要包含汉字等内容(采用全英文路径是个好的软件工程管理习惯),以免编译器不识别。
⑤ IAR编译错误,Error[Li005]: no definition for "__iar_system_Mtxlock"
如果你 没用到 下面这个的话 就把 沟去掉 然后就好了 前提是没用到
⑥ 哪位大哥用过IAR,编译出现错误了,没法解决,帮帮忙,谢谢!
这个问题我也遇到了,是debug文件夹中有损坏的文件,重新替换到就好了
⑦ 如何解决IAR编译错误,Error[Li005]: no definition for
在uart.h中定义了一个结构体类型。
struct SERIREC{
unsigned charflag;
unsigned charCrc8_Code;
unsignedCrc16_Code;
unsigned charusedmes[7];
unsigned chari;
};
extern struct SERIREC PC ; //然后再这里声明它。
在uart.c中定义PC这个结构体的实体。。
struct SERIREC PC ; // 不定义这个,就会报 no definition
编译链接错误(语法错误):编译链接错误又分成编译错和链接错。
编译错就是普通意义上的语法错,编译器进行语法检查不通过,也就是程序违背了计算机语言的语法,例如:括号不匹配、变量名拼写错误、用保留字定义变量名等;
链接错是指程序通过了语法检查,但是无法生成可执行文件,最常见的是链接找不到lib库。初学者有时写了函数的声明,但是缺少函数的定义,此时就会出现链接错。
⑧ IAR中添加了STM8库函数 怎么报这么多错啊
首先include头文件,不需要把文件 放到工程中,通常需要使用函数文件的时候,把.c文件放到工程里。只需要把头文件夹路径在IAR中 配置下就可以啦。。你把.h文件在工程中去掉,路径包含下,看看行不行。
还有,我通常那个包含的都是stm8s.h这个文件,在库中有的,你这个我没包含过。
⑨ iar for stm8 自带库,怎么编译出错
iar for stm8 自带库,解决出错问题:
Option -> c/c++ compiler -> Preprocessor -> defined symbols