PIC單片機(jī)編譯通不過(guò)錯(cuò)誤總匯
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
◆既然定義的指針有明確的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]
Error[000]
Error[000]
常見(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]
Error[000]
未定義的標(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]
Contact HI-TECH software to purchase and re-activate this compiler
演示版的編譯器壽終正寢了,把編譯器卸載了重新安裝激活吧
評(píng)論