<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于HI-TECH C編譯器的PICC18命令行驅動(dòng)

基于HI-TECH C編譯器的PICC18命令行驅動(dòng)

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

PICl8F系列產(chǎn)品是美國微芯科技公司的高檔產(chǎn)品,用戶(hù)多采用C語(yǔ)言進(jìn)行編程設計, SoftwarePty.Ltd.公司的得到了廣泛應用。大部分應用者使用MPLAB集成環(huán)境進(jìn)行編程(見(jiàn)參考文獻),在一些重要或大型應用的開(kāi)發(fā)中有一些問(wèn)題。例如,如何編寫(xiě)C語(yǔ)言的庫文件,如何對有代碼限制的程序進(jìn)行編譯等,若只是采用傳統方式編程,則達不到應有的效果。本文所闡述的 C,正是要解決這些問(wèn)題。

1 C

HI-TECH C編譯器提供了C語(yǔ)言的標準特性,同時(shí)還加上許多為了適應PIC系列單片機的特定硬件特性而設計的擴展功能,并與匯編器集成在一起提供共享鏈接器和庫管理工具,因而應用較為廣泛。

當編譯一個(gè)程序時(shí),就有許多操作既可由程序CLD(command-line driver),也可由HPD集成環(huán)境程序(覡在為HI-TIDE)獨立完成。在任一情況下,HPD或CLD(HPD下的菜單選項,或CLD的行)采用編程者指定的選項來(lái)決定哪一個(gè)內部應用需要執行,以
及什么選項需要發(fā)送給每個(gè)應用。

用戶(hù)提供的適合于目標系統的C語(yǔ)言源程序、匯編語(yǔ)言程序,都可以用CLD或HPD進(jìn)行操作。當用CLD時(shí),用命令行的任何命令來(lái)選擇操作方式;當使用HPD時(shí),在源文件列表對話(huà)框中鍵入需要的文件。

通常使用的源程序可以被編譯到一個(gè)庫文件中,這樣文件可被編譯器更方便地處理、更快速地訪(fǎng)問(wèn)。編譯器可以像其他源文件一樣直接接收庫文件,并用.lib擴展名指定文件的類(lèi)型,因而庫文件必須按這種方式命名。庫文件在使用CLD時(shí),用命令行的任何命令來(lái)選擇操作方式;或使用HPD時(shí),在“源文件列表…”對話(huà)框中鍵入需要的庫文件。

實(shí)際上,在使用MPLAB IDE集成環(huán)境進(jìn)行開(kāi)發(fā)時(shí),是使用了CLD的,只是在平常的應用中沒(méi)有注意到而已。下面是在MPLAB IDE中對C源文件進(jìn)行編譯的結果:



從上面的結果可以看出,編譯器使用了CLD命令,二者是可以統一。只有了解了CLD后,才能對HI-TECHC編譯器有更深入的理解和掌握。

2 命令行驅動(dòng)器

PICC18是調用DOS命令行的驅動(dòng)器,用來(lái)編譯和/或鏈接C語(yǔ)言程序的。PICC18的基本命令格式為:

PICC18[選項]files[文件庫]

通常在文件名之前用破折號“——”來(lái)識別,實(shí)際上這不是必須的。文件可以是源文件(C或匯編程序)和目標文件的混合。文件庫是庫名字的一個(gè)列表,或一L選項源文件。目標文件和庫文件通過(guò)文件類(lèi)型或擴展名被PICC18區分,類(lèi)型如表1所列。



PICC18將檢查每個(gè)文件并完成適當的操作。C文件將被編譯,匯編文件將被匯編。最后,所有通過(guò)編譯或匯編得到的目標文件或者在命令行中明確列出的目標文件,都將與標準運行代碼庫和任何用戶(hù)指定庫鏈接,除非它們被某種選項禁止。僅當引用源代碼時(shí),庫中函數才能被鏈接成結果輸出文件。僅用目標文件(如沒(méi)有源文件)作為凋用PICC18,意味著(zhù)僅執行鏈接階段,這是一種典型的用法。用PICC18的C選項編譯幾個(gè)自己編寫(xiě)的源文件作為目標文件,然后僅用生成的目標文件和適當的庫(及適當選項)調用PICC18來(lái)創(chuàng )建最終程序。
2.1 長(cháng)命令行

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



因為沒(méi)有提供命令行指令,因此PICC18將讀xyz.cmd得到它的命令行指令。命令文件也可以通過(guò)@符號讀出。

例如:PICC18@xyz.cmd

2.2 PICC18編譯器選項

編譯器的設定主要ROM代碼的生成。表2列出了PICC18編譯器的幾個(gè)常用的重要選項。


①定義處理器類(lèi)型:-processor。

這一選項決定了哪個(gè)處理器被使用。例如,用命令行-18c452來(lái)編澤PICl8C452。用戶(hù)也可以增加自己的處理器到編譯器。

②指定ROM偏移量:-Aaddress。

-A選項是用來(lái)為ROM映像區指定基地址的。若該選項要求引導輸入這樣的調試工具,則該詞試工具期望ROM映射地址始于非零地址。該選項影響所有ROM的部分,包括復位和中斷向量,以及放置代碼和常量數據的鏈接器分類(lèi)。如果基地址指定到外部存儲器,則必須用-ROM選項指定外部存儲器的可用地址范圍。

③優(yōu)化器及優(yōu)化優(yōu)先級選項:-O和-Zg。

-O表示調用PICC18的優(yōu)化器,-Zg選項在代碼生成路徑調用全局優(yōu)先級。這對于代碼長(cháng)度的縮減及內部RAM的使用有著(zhù)重要意義。該優(yōu)先級沒(méi)有傳遞優(yōu)先級苛刻,但對代碼長(cháng)度的縮減很有意義。在一個(gè)執行函數的基礎上,全局優(yōu)先級可以最優(yōu)化寄存器的使用。它也利用代碼中常最的傳遞來(lái)避免不必要的存儲器訪(fǎng)問(wèn)。

該選項默認的級為1(最低優(yōu)先級)。優(yōu)先級可以設置為l~9的任意一級(9為最高優(yōu)先級)。數字表明優(yōu)先級試圖縮減代碼的程度。對于PICC18,高于3的優(yōu)先級通常沒(méi)有什么用處。

了解了命令行驅動(dòng)后,對第1節中在MPLAB IDE中對C源文件進(jìn)行編譯的例子就有了更深入的理解。

3 命令行驅動(dòng)應用

下面介紹命令行驅動(dòng)在實(shí)際應用中的一些例子。通過(guò)這些例子,可以對命令行驅動(dòng)的應用有一個(gè)初步的認識,并可以此為基礎,對PICC18編譯器進(jìn)行深入的學(xué)習和應用。

3.1 命令行驅動(dòng)編譯源文件

在Win2000下進(jìn)行如下操作:執行“開(kāi)始”→“運行”命令,然后輸入“CMD”;或執行“開(kāi)始”→“程序”→“附件”→“命令提示符”命令,彈出cmd.exe的界面,如圖1所示。若cmd.exe中出現的當前目錄不是在C盤(pán)根目錄下,則需要通過(guò)輸入命令“cd c:\”進(jìn)入C盤(pán)根目錄。輸入“cd htsoft\picl8\bin”命令,進(jìn)入PICC18.exe軟件所在目錄 (默認安裝時(shí)的目錄),如圖2所示。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>