HI-TECH C編譯器的PICC18命令行驅(qū)動
PICl8F系列產(chǎn)品是美國微芯科技公司的高檔產(chǎn)品,用戶多采用C語言進行編程設(shè)計,HI-TECH SoftwarePty.Ltd.公司的PICC18編譯器得到了廣泛應(yīng)用。大部分應(yīng)用者使用MPLAB集成環(huán)境進行編程(見參考文獻),在一些重要或大型應(yīng)用的開發(fā)中有一些問題。例如,如何編寫C語言的庫文件,如何對有代碼限制的程序進行編譯等,若只是采用傳統(tǒng)方式編程,則達不到應(yīng)有的效果。本文所闡述的HI-TECH C編譯器的PICC18命令行驅(qū)動,正是要解決這些問題。
1 HI-TECH C編譯器
HI-TECH C編譯器提供了C語言的標準特性,同時還加上許多為了適應(yīng)PIC系列單片機的特定硬件特性而設(shè)計的擴展功能,并與匯編器集成在一起提供共享鏈接器和庫管理工具,因而應(yīng)用較為廣泛。
當編譯一個程序時,就有許多操作既可由命令行驅(qū)動程序CLD(command-line driver),也可由HPD集成環(huán)境驅(qū)動程序(覡在為HI-TIDE)獨立完成。在任一情況下,HPD或CLD(HPD下的菜單選項,或CLD的命令行)采用編程者指定的選項來決定哪一個內(nèi)部應(yīng)用需要執(zhí)行,以
及什么選項需要發(fā)送給每個應(yīng)用。
用戶提供的適合于目標系統(tǒng)的C語言源程序、匯編語言程序,都可以用CLD或HPD進行操作。當用CLD時,用命令行的任何命令來選擇操作方式;當使用HPD時,在源文件列表對話框中鍵入需要的文件。
通常使用的源程序可以被編譯到一個庫文件中,這樣文件可被編譯器更方便地處理、更快速地訪問。編譯器可以像其他源文件一樣直接接收庫文件,并用.lib擴展名指定文件的類型,因而庫文件必須按這種方式命名。庫文件在使用CLD時,用命令行的任何命令來選擇操作方式;或使用HPD時,在“源文件列表…”對話框中鍵入需要的庫文件。
實際上,在使用MPLAB IDE集成環(huán)境進行開發(fā)時,是使用了CLD的,只是在平常的應(yīng)用中沒有注意到而已。下面是在MPLAB IDE中對C源文件進行編譯的結(jié)果:
從上面的結(jié)果可以看出,編譯器使用了CLD命令,二者是可以統(tǒng)一。只有了解了CLD后,才能對HI-TECHC編譯器有更深入的理解和掌握。
2 PICC18命令行驅(qū)動器
PICC18是調(diào)用DOS命令行的驅(qū)動器,用來編譯和/或鏈接C語言程序的。PICC18的基本命令格式為:
PICC18[選項]files[文件庫]
通常在文件名之前用破折號“——”來識別,實際上這不是必須的。文件可以是源文件(C或匯編程序)和目標文件的混合。文件庫是庫名字的一個列表,或一L選項源文件。目標文件和庫文件通過文件類型或擴展名被PICC18區(qū)分,類型如表1所列。
PICC18將檢查每個文件并完成適當?shù)牟僮?。C文件將被編譯,匯編文件將被匯編。最后,所有通過編譯或匯編得到的目標文件或者在命令行中明確列出的目標文件,都將與標準運行代碼庫和任何用戶指定庫鏈接,除非它們被某種選項禁止。僅當引用源代碼時,庫中函數(shù)才能被鏈接成結(jié)果輸出文件。僅用目標文件(如沒有源文件)作為凋用PICC18,意味著僅執(zhí)行鏈接階段,這是一種典型的用法。用PICC18的C選項編譯幾個自己編寫的源文件作為目標文件,然后僅用生成的目標文件和適當?shù)膸?及適當選項)調(diào)用PICC18來創(chuàng)建最終程序。
評論