英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 4872|回复: 3
打印 上一主题 下一主题

[分享]编译通不过错误总汇 zhuan

[复制链接]
跳转到指定楼层
1#
发表于 2012-8-21 18:15:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 star 于 2012-8-21 18:16 编辑

归纳总结了10多条常见的编译错误,当是抛砖引玉。有错误疏漏的地方大家补充,一起完善
  
J
一、
Error[000] : Can't find 0x12C words for psect rbss_1 in segment BANK1

连接器告诉你总共有0x12C300)个字节准备放到bank1 中但bank1 容量不够。显然,只

有把一部分原本定位在bank1 中的变量改放到其它bank 中才能解决此问题。

二、
Error[000] :Fixup overflow in expression (...)
Error
   
[477] ; . fixup overflow in expression (location 0x1FEE (0x1FE6+8), size 2, value 0xFF5)
◆既然定义的指针有明确的bank 适用区域,在对指针变量赋值时就必须实现类型匹配,
下面的指针赋值将产生一个致命错误:

unsigned char *ptr0; //定义指向bank0/1 的指针
bank2 unsigned char buff[8]; //定义bank2 中的一个缓冲区
程序语句:
ptr0 = buff; //错误!试图将bank2 内的变量地址赋给指向bank0/1 的指针
,如果你看到了“Fixup overflow”的错误指示,请重点检查程序中有关指针的操作。
◆如果总程序仍超过一页,则可能会有以上错误,检查程序是否超页:
三、
Error[000]   : Can't find 0x26 words (0x26 withtotal) for psect text13 in segment CODE
Error[000]   : Can't find 0xC words (0xC withtotal) for psect text in segment CODE
Error[000]   : Can't find 0xC words (0xC withtotal) for psect text4 in segment CODE
常见的情况是编译的内容超出芯片ROM空间,可屏蔽部分代码,以检查代码量是否过多。

四、
Error[000] D:\Work\standard_\remo.c 113 : probable missing '}' in previous block
Error[000] D:\Work\standard_\remo.c 8 : { expected
程序中大括号不完整,检查{}是否完整成对使用。
五、
Error[000] D:\Work\standard\remo.c 8 : ; expected
程序代码后缺少“;”号。
六、
Error[000] D:\Work\standard\remo.c 10 : undefined identifier: buzz1
变量buzz1未定义就使用,变量应先定义后使用。
七、
Error[000] D:\Work\standard\remo.c 80 : inappropriate 'else'
If,else语句未成对使用,缺少if条件,提示不对称的else

八、
Error[000]   : undefined symbols:
Error[000]   : _chipsel (D:\Work\standard\mini.obj)
未定义的标签,确认子程序chipsel()等是否可以被调用,检查是否在INCLUDE中,是否在调用前进行了函数原型声明。
九、
Error[000] D:\Work\standard\mini.c 19 : Cannot open include file "I2C.c1"
包含的文件名错误,检查包含的文件和原文件的命名是否相同。

十、
Error[000] :function _EQ_DATA_SEND appears in multiple call graphs: rooted at _isr and
_main (error)
函数EQ_DATA_SEND在主程序和中断程序中均被调用,有可能该函数在被主程序调用执行的过程中又被中断程序调用。这样就破坏了正在执行过程的数据,造成不可预料的结果,因此不能这样。可以写成两个不同命名的函数分别调用。

十一、
Error[000]   : This demo compiler has expired.
Contact HI-TECH software to purchase and re-activate this compiler

演示版的编译器寿终正寝了,把编译器卸载了重新安装激活吧

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-11-24 02:21 , Processed in 0.051999 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表