因為嵌入式系統(tǒng)是軟件與硬件按需求定制的計算機控制系統(tǒng),其自身不具有自我開發(fā)軟件的能力,所以必須要借助于其它功能更強大的計算機系統(tǒng)為其開發(fā)軟件。為了高效的完成嵌入式系統(tǒng)軟件的開發(fā)工作,必須要非常熟悉這個開發(fā)環(huán)境的組成與其工作原理。 宿主機:具備為其它計算機系統(tǒng)開發(fā)應(yīng)用程序能力的計算機,稱之為宿主機。宿主的概念來源于生物界,在宿主的內(nèi)部往往寄生著其它生物。而宿主機內(nèi)類似的駐有在其它計算機系統(tǒng)上的應(yīng)用程序。在宿主機上可以為其它計算機編寫程序代碼,然后交叉編譯生成可以在其它計算機系統(tǒng)上運行的可執(zhí)行程序,同時還可以離線仿真、在線調(diào)試程序。在實際開發(fā)過程中,PC通常扮演宿主機的角色。 目標(biāo)系統(tǒng):待開發(fā)軟件的嵌入式硬件設(shè)備稱為目標(biāo)系統(tǒng)。由于目標(biāo)系統(tǒng)硬件與軟件資源的限制,其往往不具備自我開發(fā)應(yīng)用的能力。所以它必須要借助于宿主機才能完成軟件的開發(fā)工作。但目標(biāo)系統(tǒng)可以借助某些特定的駐留軟件來配合宿主機的軟件開發(fā)工作,從而使開發(fā)效率得以大大提升。 調(diào)試連線:宿主機為目標(biāo)系統(tǒng)開發(fā)軟件,必須通過交叉編譯才能下載至目標(biāo)系統(tǒng)上運行,同時完成在線仿真調(diào)試才能在最終發(fā)布軟件。所以開發(fā)過程中,必須要借助各種硬件連線來完成各式各樣的數(shù)據(jù)交互工作。調(diào)試連接線一般有:串口連接線、JTAG連接線、以太網(wǎng)連接線。串口連接線一般作為宿主機下達控制指令、回顯目標(biāo)系統(tǒng)運行狀態(tài)時的數(shù)據(jù)交互;JTAG連接線一般作為在線仿真或燒錄Bootloader使用;以太網(wǎng)連接線一般作為大批量數(shù)據(jù)信息交互使用(下載內(nèi)核、根文件系統(tǒng)、用戶應(yīng)用程序等等)。調(diào)試連線種類不同,用處也不同,各自之間都不可能完全替代,了解掌握每種連接線的特定作用非常重要。 操作系統(tǒng)環(huán)境:宿主機一般選擇Linux作為操作系統(tǒng),這樣需要開發(fā)者能夠熟練掌握并使用Linux操作系統(tǒng)。開放前,一定要配置好Linux的工作環(huán)境,比如:與windows的文件共享、重要系統(tǒng)服務(wù)的配置、文本編輯工具等等。安裝操作系統(tǒng)時,在不熟悉Linux的前提下,可以選擇完全安裝,這樣在使用過程中就可以有效的避免一些問題。 交叉編譯環(huán)境:宿主機上開發(fā)的應(yīng)用程序,必須編譯成可以在目標(biāo)系統(tǒng)上運行的可執(zhí)行程序,這就需要交叉編譯。交叉編譯必須要借助交叉編譯器,安裝交叉編譯器后,必須配置正確的環(huán)境變量。在開發(fā)過程中,往往可能用到不同版本的交叉編譯器,所以在使用過程中一定要時刻保持清醒頭腦,選擇恰當(dāng)?shù)陌姹尽?/span> 調(diào)試環(huán)境:調(diào)試的過程中,會使用到串口,所以串口調(diào)試工具軟件必須要能熟練的使用;JTAG硬件設(shè)備驅(qū)動與JTAG燒錄工具也要安裝配置正確;在開發(fā)過程中,還會使用到NFS、TFTP等網(wǎng)絡(luò)工具,所以在宿主機上配置并啟動網(wǎng)絡(luò)服務(wù)同樣是非常重要的工作。 對嵌入式系統(tǒng)開發(fā)者來說,上面描述的內(nèi)容必須要認(rèn)識深刻,同時要熟練運用各種工具。不管開發(fā)工作有多么復(fù)雜,開發(fā)過程中使用到的方法、技巧、工具幾乎不會超出上面提到的那些范疇。所以,要從事嵌入式系統(tǒng)開發(fā),先從掌握開發(fā)環(huán)境組成開始吧! |
|
來自: 昵稱29273511 > 《待分類》