<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > HI-TECH C編譯器的PICC18命令行驅(qū)動(dòng)

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

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

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

          1 C

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

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

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

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

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



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

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

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

          PICC18[選項(xiàng)]files[文件庫(kù)]

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



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


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

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();