天天看點

《我和PIC單片機:基于PIC18》——2.2 MPLAB IDE內建開發環境

mplab ide軟體由microchip公司出品,專門用于為其旗下的pic單片機及dspic數字信号處理器開發應用程式。mplab ide軟體提供了一個完整的pic開發過程支援,是以被稱為內建開發環境(ide)。為了更好地了解內建開發環境的概念,我們需要先來了解一下單片機系統的開發過程。

pic單片機組建單片機系統時,其開發過程一般要經曆以下幾個步驟:

1)建立設計方案。根據所需的功能要求,決定最适合的pic單片機型号,并設計好外圍硬體電路。

2)編寫源代碼。在編輯器中用特定的語言來編寫源代碼,完成後使用彙編器或編譯器将代碼轉換為可被pic單片機識别的機器碼(0和1的序列)。

3)測試代碼。代碼編寫完成後,并不一定能完全按照我們的預期運作,為了去除代碼中的bug,可以通過調試器來觀察程式的運作情況,檢視變量和各功能寄存器在程式運作過程中的值,或者讓程式分步執行以便于更加清晰地分析程式的流程。

4)燒寫晶片。代碼經軟體調試并正确運作後,将代碼燒寫到單片機中,并再次驗證程式在實際的硬體環境下能否正确執行。

mplab ide軟體就是針對以pic為核心的單片機系統開發的需要,将代碼的編輯、編譯、調試、燒寫功能內建在一個軟體中,成為一個完整的pic開發平台,是以稱為內建開發環境。

相比硬體投資,開發pic的軟體投資就更加節省了。我們可以從microchip公司的官方網站上下載下傳mplab ide軟體免費使用,而且在目前版本的mplab ide軟體(v8.80)中,還附帶了試用版的picc編譯器,可以用來為pic10/12/16系列單片機開發c語言程式。不過,要想給pic18系列單片機編寫c程式,還需要額外從microchip網站上下載下傳試用版的picc18編譯器。這裡需要說明的是,picc編譯器及picc18編譯器安裝完成後,會自動和mplab ide內建開發環境挂接,無須人工幹預,這無疑給pic開發帶來了極大的友善。

作為pic的內建開發環境,mplab ide軟體包含了多個與pic開發相關的元件,具體如圖2-4所示。

1)項目管理器。pic單片機産品線非常豐富,即使是同系列的pic單片機,其引腳、資料存儲器以及程式存儲器都會有所不同。在開發過程中,必須針對標明的單片機,建立一個特定的項目,編寫程式并最終生成機器碼,燒寫到單片機中。這個從單片機的選型、代碼編寫、彙編(或編譯)、連結,以至于生成完整的機器碼的整個過程叫作項目的建造(build)。項目管理器就是用于管理整個建造過程的元件。

2)程式編輯器。程式管理器用于源代碼的編寫,是和我們關系最密切的部分。程式編輯器并不是普通的文體編輯器,而是專門為mcu編寫代碼而設計的,它可以識别文本中的文法結構,并采用相應的彩色編碼來區分各種元素。例如c語言中的關鍵詞等都會有相應的彩色顯示。

另外,程式編輯器還支援編寫源代碼常用的一些操作,如查找c語言中的比對花括号、注釋程式行等,也可以在編輯器中給程式設定斷點,檢視寄存器或變量的值等。

《我和PIC單片機:基于PIC18》——2.2 MPLAB IDE內建開發環境

3)彙編器和編譯器。彙編器是将彙編語言翻譯為機器語言的軟體,而編譯器則是将c或其他進階語言翻譯為機器語言的軟體。與pc機上使用的c編譯器不同,由于單片機的存儲空間有限,是以要求開發使用的彙編器或編譯器,所生成的代碼量應當盡量小。編譯器的編譯過程如圖2-5所示。

《我和PIC單片機:基于PIC18》——2.2 MPLAB IDE內建開發環境

mplab ide軟體在早期版本中隻內建了彙編器,用于将彙編語言的源代碼轉換成機器碼。為了适應需要,mplab ide軟體在近期的版本中附帶了picc的c編譯器,用來為pic10/12/16系列開發c語言程式。有了picc編譯器,使用者在為pic中低檔機開發c程式時就不用額外安裝第三方的編譯器了,但開發pic18系列高檔機還需安裝picc18編譯器。

4)連結器。連結器負責将來自彙編器、編譯器生成的機器碼配置設定到目标單片機相應的存儲區中。

5)軟體模拟器。軟體模拟器又稱軟體調試器,它使用pc機的cpu來模拟單片機執行軟體的過程,不需要任何硬體的配合就可以對程式進行測試,比如單步調試代碼、測量代碼執行時間、觀察寄存器或變量值等。

6)硬體程式設計器及調試器。在mplab ide中,支援兩種類型的硬體裝置即:程式設計器和調試器。程式設計器用于将軟體生成的機器碼(hex檔案)從pc上燒寫到目标單片機的片記憶體儲器中。調試器可以使目标單片機與源程式同步工作,單片機與其外圍電路處于連接配接狀态,使用者可以實時觀察硬體電路在軟體執行到某一位置時的具體變化情況,其功能比單純用軟體仿真調試更為真實和直覺。mplab ide軟體中支援的程式設計及仿真器有pickit 2、pickit 3、icd2、icd3等。

我們已經知道,mplab ide內建開發環境中包含了多個功能元件,主要有編寫代碼的編輯器、管理檔案及設定的項目管理器、将源代碼轉換為機器碼的彙編器或編譯器,以及多種模拟單片機運作的軟體和用于連接配接到目标單片機的硬體。這些工具的有序調用,可以完成pic程式開發的全過程,mplab ide的工具鍊如圖2-6所示。

《我和PIC單片機:基于PIC18》——2.2 MPLAB IDE內建開發環境

從圖中我們可以看出,從編寫c語言代碼開始,直到生成晶片可執行的hex檔案,需要有多個開發工具的配合,具體步驟如下:

1)在編輯器中編寫c源代碼并包含相關頭檔案。

2)c源代碼和pic的頭檔案經c編譯器轉換為彙編源檔案。

3)彙編源檔案經彙編器産生中間機器碼和占位符,并送到連結器中。

4)連結器解析這些占位符,針對不同類型的晶片,生成一個可執行的機器碼檔案(hex檔案),同時生成一個調試檔案,供調試器使用。

5)将生成的hex檔案燒寫到單片機中,或使用調試檔案進行軟硬體調試。

繼續閱讀