單片機代理商深圳英銳恩分享單片機編譯通不過錯誤匯總,免費為您解決技術問題 。
一、
Error[000] : Can't find 0x12C words for psect rbss_1 in segment BANK1
連接器告訴你總共有0x12C(300)個字節(jié)準備放到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 適用區(qū)域,在對指針變量賦值時就必須實現(xiàn)類型匹配,
下面的指針賦值將產生一個致命錯誤:
unsigned char *ptr0; //定義指向bank0/1 的指針
bank2 unsigned char buff[8]; //定義bank2 中的一個緩沖區(qū)
程序語句:
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中,是否在調用前進行了函數(shù)原型聲明。
九、
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)
函數(shù)EQ_DATA_SEND在主程序和中斷程序中均被調用,有可能該函數(shù)在被主程序調用執(zhí)行的過程中又被中斷程序調用。這樣就破壞了正在執(zhí)行過程的數(shù)據(jù),造成不可預料的結果,因此不能這樣??梢詫懗蓛蓚€不同命名的函數(shù)分別調用。
十一、
Error[000] : This demo compiler has expired.
Contact HI-TECH software to purchase and re-activate this compiler