HI-TECH C編譯器的PICC18命令行驅(qū)動(dòng)
2.1 長(zhǎng)命令行
PICC18驅(qū)動(dòng)器是32位的視窗軟什,可以處理超過(guò)128字符長(zhǎng)的命令行。驅(qū)動(dòng)器可以通過(guò)DOS的批文件調(diào)用,或通過(guò)命令文件傳遞選項(xiàng)。當(dāng)使用批文件時(shí),送入PICC18的命令行必須列成一行。在命令文件中,驅(qū)動(dòng)器選項(xiàng)可以被傳送至多行,這是通過(guò)一個(gè)空格鍵緊接一個(gè)反斜線“\”再接一個(gè)回車鍵來(lái)分開各行實(shí)現(xiàn)的。例如,一個(gè)命令文件可以包含:

因?yàn)闆](méi)有提供命令行指令,因此PICC18將讀xyz.cmd得到它的命令行指令。命令文件也可以通過(guò)@符號(hào)讀出。
例如:PICC18@xyz.cmd
2.2 PICC18編譯器選項(xiàng)
編譯器的設(shè)定主要基于ROM代碼的生成。表2列出了PICC18編譯器的幾個(gè)常用的重要選項(xiàng)。

①定義處理器類型:-processor。
這一選項(xiàng)決定了哪個(gè)處理器被使用。例如,用命令行-18c452來(lái)編澤PICl8C452。用戶也可以增加自己的處理器到編譯器。
②指定ROM偏移量:-Aaddress。
-A選項(xiàng)是用來(lái)為ROM映像區(qū)指定基地址的。若該選項(xiàng)要求引導(dǎo)輸入這樣的調(diào)試工具,則該詞試工具期望ROM映射地址始于非零地址。該選項(xiàng)影響所有基于ROM的部分,包括復(fù)位和中斷向量,以及放置代碼和常量數(shù)據(jù)的鏈接器分類。如果基地址指定到外部存儲(chǔ)器,則必須用-ROM選項(xiàng)指定外部存儲(chǔ)器的可用地址范圍。
③優(yōu)化器及優(yōu)化優(yōu)先級(jí)選項(xiàng):-O和-Zg。
-O表示調(diào)用PICC18的優(yōu)化器,-Zg選項(xiàng)在代碼生成路徑調(diào)用全局優(yōu)先級(jí)。這對(duì)于代碼長(zhǎng)度的縮減及內(nèi)部RAM的使用有著重要意義。該優(yōu)先級(jí)沒(méi)有傳遞優(yōu)先級(jí)苛刻,但對(duì)代碼長(zhǎng)度的縮減很有意義。在一個(gè)執(zhí)行函數(shù)的基礎(chǔ)上,全局優(yōu)先級(jí)可以最優(yōu)化寄存器的使用。它也利用代碼中常最的傳遞來(lái)避免不必要的存儲(chǔ)器訪問(wèn)。
該選項(xiàng)默認(rèn)的級(jí)為1(最低優(yōu)先級(jí))。優(yōu)先級(jí)可以設(shè)置為l~9的任意一級(jí)(9為最高優(yōu)先級(jí))。數(shù)字表明優(yōu)先級(jí)試圖縮減代碼的程度。對(duì)于PICC18,高于3的優(yōu)先級(jí)通常沒(méi)有什么用處。
了解了命令行驅(qū)動(dòng)后,對(duì)第1節(jié)中在MPLAB IDE中對(duì)C源文件進(jìn)行編譯的例子就有了更深入的理解。
3 命令行驅(qū)動(dòng)應(yīng)用
下面介紹命令行驅(qū)動(dòng)在實(shí)際應(yīng)用中的一些例子。通過(guò)這些例子,可以對(duì)命令行驅(qū)動(dòng)的應(yīng)用有一個(gè)初步的認(rèn)識(shí),并可以此為基礎(chǔ),對(duì)PICC18編譯器進(jìn)行深入的學(xué)習(xí)和應(yīng)用。
3.1 命令行驅(qū)動(dòng)編譯源文件
在Win2000下進(jìn)行如下操作:執(zhí)行“開始”→“運(yùn)行”命令,然后輸入“CMD”;或執(zhí)行“開始”→“程序”→“附件”→“命令提示符”命令,彈出cmd.exe的界面,如圖1所示。若cmd.exe中出現(xiàn)的當(dāng)前目錄不是在C盤根目錄下,則需要通過(guò)輸入命令“cd c:\”進(jìn)入C盤根目錄。輸入“cd htsoft\picl8\bin”命令,進(jìn)入PICC18.exe軟件所在目錄 (默認(rèn)安裝時(shí)的目錄),如圖2所示。

評(píng)論