新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)編譯通不過(guò)錯(cuò)誤總匯

PIC單片機(jī)編譯通不過(guò)錯(cuò)誤總匯

作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
一、

Error[000] : Cant find 0x12C words for psect rbss_1 in segment BANK1

連接器告訴你總共有0x12C(300)個(gè)字節(jié)準(zhǔn)備放到bank1 中但bank1 容量不夠。顯然,只

有把一部分原本定位在bank1 中的變量改放到其它bank 中才能解決此問(wèn)題。

二、

Error[000] :Fixup overflow in expression_r(...)

Error
[477] ; . fixup overflow in expression_r(location 0x1FEE (0x1FE6+8), size 2, value 0xFF5)
◆既然定義的指針有明確的bank 適用區(qū)域,在對(duì)指針變量賦值時(shí)就必須實(shí)現(xiàn)類(lèi)型匹配,

下面的指針賦值將產(chǎn)生一個(gè)致命錯(cuò)誤:

unsigned char *ptr0; //定義指向bank0/1 的指針

bank2 unsigned char buff[8]; //定義bank2 中的一個(gè)緩沖區(qū)

程序語(yǔ)句:

ptr0 = buff; //錯(cuò)誤!試圖將bank2 內(nèi)的變量地址賦給指向bank0/1 的指針

,如果你看到了“Fixup overflow”的錯(cuò)誤指示,請(qǐng)重點(diǎn)檢查程序中有關(guān)指針的操作。

◆如果總程序仍超過(guò)一頁(yè),則可能會(huì)有以上錯(cuò)誤,檢查程序是否超頁(yè):
三、

Error[000] : Cant find 0x26 words (0x26 withtotal) for psect text13 in segment CODE

Error[000] : Cant find 0xC words (0xC withtotal) for psect text in segment CODE

Error[000] : Cant find 0xC words (0xC withtotal) for psect text4 in segment CODE

常見(jiàn)的情況是編譯的內(nèi)容超出芯片ROM空間,可屏蔽部分代碼,以檢查代碼量是否過(guò)多。

四、

Error[000] D:Workstandard_emo.c 113 : probable missing } in previous block

Error[000] D:Workstandard_emo.c 8 : { expected

程序中大括號(hào)不完整,檢查{}是否完整成對(duì)使用。

五、

Error[000] D:Workstandardemo.c 8 : ; expected

程序代碼后缺少“;”號(hào)。

六、

Error[000] D:Workstandardemo.c 10 : undefined identifier: buzz1

變量buzz1未定義就使用,變量應(yīng)先定義后使用。

七、

Error[000] D:Workstandardemo.c 80 : inappropriate else

If,else語(yǔ)句未成對(duì)使用,缺少if條件,提示不對(duì)稱(chēng)的else。

八、

Error[000] : undefined symbols:

Error[000] : _chipsel (D:Workstandardmini.obj)

未定義的標(biāo)簽,確認(rèn)子程序chipsel()等是否可以被調(diào)用,檢查是否在INCLUDE中,是否在調(diào)用前進(jìn)行了函數(shù)原型聲明。

九、

Error[000] D:Workstandardmini.c 19 : Cannot open include file "I2C.c1"

包含的文件名錯(cuò)誤,檢查包含的文件和原文件的命名是否相同。

十、

Error[000] :function _EQ_DATA_SEND appears in multiple call graphs: rooted at _isr and
_main (error)

函數(shù)EQ_DATA_SEND在主程序和中斷程序中均被調(diào)用,有可能該函數(shù)在被主程序調(diào)用執(zhí)行的過(guò)程中又被中斷程序調(diào)用。這樣就破壞了正在執(zhí)行過(guò)程的數(shù)據(jù),造成不可預(yù)料的結(jié)果,因此不能這樣??梢詫?xiě)成兩個(gè)不同命名的函數(shù)分別調(diào)用。

十一、

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

演示版的編譯器壽終正寢了,把編譯器卸載了重新安裝激活吧


評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉