什麼是主機,目標機

開發

開發模式:

本機開發本機開發也就是在目標機(在嵌入式系統中通常把嵌入式系統或設備簡稱爲目標機)中直接

進行操作系統移植及應用程序的開發。在這種方式下進行開發,首先就得在目標機中安裝操作

系統,並且具有良好的人機開發界面。

交叉開發意思就是在一臺主機(在嵌入式系統中通常把通用PC稱爲主機)上進行操作系統的裁剪,以

及編寫應用程序,在主機上應用交叉編譯環境編譯內核及應用程序,然後把目標代碼下載到目

標機上運行。這就需要在主機上安裝、配置交叉編譯環境(交叉開發工具鏈),使其能夠編譯

成在目標機上運行的目標代碼。

模擬開發建立在交叉開發環境基礎之上。除了主機和目標機以外,還得提供一個在主機上模擬目標機

的環境,使得開發好的內核和程序直接在這個環境下運行以驗證其正確性,這就不需要每次的

修改都下載到目標機中,待程序正確後再下載到目標機上運行。這樣就可以達到在沒有目標機

的情況下調試軟件的目的。比較著名的模擬開發環境有SkyEye,它能夠模擬如ARM等處理器

的開發環境。模擬硬件環境是一件比較複雜的工程,所以多數商業嵌入式系統的開發採用的是

交叉開發模式。

開發方式:

Crash and Burn

1.          在宿主機上編寫代碼

2.          在宿主機上編譯應用程序,生成可執行程序

3.          固化(Burn)到目標機的存儲器(EPROM/FLASH等)中

4.          啓動運行,若正確則轉到7

5.          不正確則在宿主機上改寫代碼,糾正錯誤

6.          返回2重複操作

7.          固化成功,結束

ROM Monitor

       ROM Monitor是固化在目標機上的一段程序,用來監視目標機上被調試程序的運行,與HOST端的程序一起完成對目標機上的應用程序的調試。此時宿主機上要有一個和ROM Monitor相配的交叉調試器。該調試方法中目標機復位後首先執行的就是ROM Monitor

1.          在宿主機上編寫代碼

2.          在宿主機上試用調試模式交叉編譯應用程序,生成可執行程序

3.          將代碼下載到目標機上的RAM空間

4.          用戶試用調試器進行交叉調試

5.          如果正確轉8

6.          不正確則在調試器幫助下定位錯我

7.          修改錯誤,重複2~7

8.          將程序固化到目標機上,結束

ROM Emulator:

         ROM Emulator 替代目標機上的ROM芯片

     不完全的調試方法

ICE(In-Circuit Emulator 常用的開發方法):

       替代目標機上的CPU設備

         廠家提供的開發板

         價格昂貴,不利於團隊開發

         所仿CPU有限

OCD(On Chip Debugging)

         OCD CPU芯片提供的一種調試功能

         存在各種實現方式、標準不統一:

1.          BDM(Backgroud Debugging Mode)

2.          JTAG(Joint Test Access Group)

3.          OnCE(On Chip Emulation)

Simulator

         軟件仿真器。在宿主機上虛擬目標機。

         仿真內容:

仿真處理器

仿真外設

仿真環境

         適用範圍:對時間特性沒有嚴格要求、沒有特殊外設、只需要驗證邏輯正確的應用程序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章