HI-TECH C編譯器的PICC18命令行驅(qū)動(dòng)
(1)編譯Izqmwyz.c
輸入“PICC18-18f458 lzqmwyz.c”,含義是使用PICC18.exe編譯器對(duì)lzqmwyz.c源文件進(jìn)行編譯,單片機(jī)型號(hào)為
18f458(即PIC18F458單片機(jī))。這時(shí)會(huì)輸出所需要的編譯結(jié)果,生成的文件中,以hex為擴(kuò)展名的lzqmwyz.hex較為重要。若源程序有語(yǔ)法錯(cuò)誤,還會(huì)顯示出錯(cuò)信息及所在的行。
注意:在cmd.exe界面中進(jìn)行操作時(shí),所有的源文件均存放在PICC18.exe同一目錄下(PICC18.exe默認(rèn)安裝目錄是c:\HTSOFT\PIC18\Bin)。在本文中,PICC18均采用此默認(rèn)安裝目錄。這里lzqmwyz.c存放在c:\HTSOFT\PICl8\Bin下。
(2)-noerrata選項(xiàng)
“-noerrata”選項(xiàng)不使能輸出代碼的錯(cuò)誤修改,而缺省時(shí),會(huì)對(duì)編譯器的輸出代碼有所修改。有些芯片沒有正誤表,不會(huì)用編譯器對(duì)此修改。這個(gè)選項(xiàng)可以用編譯器來禁止任何正誤表方位。當(dāng)正誤表變化時(shí),會(huì)安全禁止。對(duì)有些芯片(如PIC18F458等),PICC18對(duì)程序的代碼長(zhǎng)度進(jìn)行了限制(一般限制在0x4000之內(nèi),即16KB之內(nèi))。這就是同上的PICl8應(yīng)用論壇中。有些網(wǎng)友提出代碼有限制的原因。有些編程者則在程序中編寫了下面的提示程序:
若編譯的程序代碼超出了這個(gè)范圍,將會(huì)列出出錯(cuò)信息。
圖3是對(duì)solar050408.c源文件編譯時(shí),代碼超過了Ox4000長(zhǎng)度時(shí)出現(xiàn)的提示信息。
使用-noerrata選項(xiàng)時(shí),solar050408.c源文件編譯就會(huì)得到正確的編譯結(jié)果,命令為“PICC18-18f458solar050408.c-o-zgl-noerrata”。命令中“-o”表示調(diào)用PICC18的優(yōu)化器,“-zg1”表示調(diào)用優(yōu)化器時(shí)采用的優(yōu)先級(jí)為1級(jí)。
3.2 庫(kù)文件生成及應(yīng)用
3.2.1 C源文件
(1)包含main函數(shù)的lzqmwyzl.c源文件
評(píng)論