嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件均可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。其發(fā)展已有二十多年的歷史,國(guó)際上也出現(xiàn)了一些著名的嵌入式操作系統(tǒng),如VxWorks,Palm OS,Windows CE等等,但這些操作系統(tǒng)均屬于商品化產(chǎn)品,價(jià)格昂貴且由于源代碼不公開(kāi)導(dǎo)致了諸如對(duì)設(shè)備的支持 ,應(yīng)用軟件的移植等一系列的問(wèn)題。而Linux作為一種優(yōu)秀的Free OS,近幾年在嵌入式領(lǐng)域異軍突起,成為了最有潛力的嵌入式操作系統(tǒng)。
嵌入式Linux融合了嵌入式和Linux的特點(diǎn),其開(kāi)發(fā)與一般的應(yīng)用程序開(kāi)發(fā)相比有著自己的特點(diǎn),下面簡(jiǎn)要的介紹一下嵌入式Linux開(kāi)發(fā)的一般過(guò)程。
了解硬件是首要的一步,這是嵌入式開(kāi)發(fā)的特點(diǎn)決定的。了解硬件指的是了解整個(gè)硬件,判斷硬件對(duì)于當(dāng)前的應(yīng)用來(lái)說(shuō)是否合適。嵌入式系統(tǒng)中需要使用到CPU和各種外圍設(shè)備,由此需要收集相關(guān)硬件的資料,包括CPU,芯片手冊(cè)和各種外圍設(shè)備的手冊(cè)以及相關(guān)的各種電路圖等,并對(duì)整體系統(tǒng)有較深入的了解。
了解硬件后,下一步就該準(zhǔn)備需要使用的Linux工具以及其他工具,這些工具包括:針對(duì)所用CPU的編譯器/匯編器/連接器,相應(yīng)的庫(kù)工具,目標(biāo)文件分析/管理工具,符號(hào)查看器等等。幸運(yùn)的是,由于Linux的開(kāi)放性,針對(duì)不同目標(biāo)平臺(tái)的Linux工具都可在網(wǎng)上免費(fèi)得到,絕大部分的這些工具都由GNU提供。所需要的其他工具還包括硬件廠(chǎng)商提供給公司的工具,如編程器,下載工具和查錯(cuò)器等等。所有這些工具對(duì)以后的開(kāi)發(fā)、調(diào)試等都可說(shuō)是必不可少的。
做好以上的準(zhǔn)備工作后,就要進(jìn)入實(shí)質(zhì)性的工作階段了。首先需要安排內(nèi)存地址,如SDRAM的內(nèi)存地址,F(xiàn)lash的內(nèi)存地址等,這需要與實(shí)際應(yīng)用和硬件狀況相結(jié)合來(lái)考慮,要根據(jù)硬件的限制以及實(shí)際應(yīng)用的需要對(duì)內(nèi)存地址進(jìn)行合理的安排,同時(shí)要注意內(nèi)存地址的安排要具有一定的伸縮性,以便于將來(lái)需要改動(dòng)時(shí)所做的變動(dòng)達(dá)到最小。一般來(lái)說(shuō),嵌入式Linux的內(nèi)存地址安排體現(xiàn)在連接腳本當(dāng)中。
接著就該進(jìn)入編寫(xiě)啟動(dòng)代碼和機(jī)器相關(guān)代碼階段了。各種不同目標(biāo)系統(tǒng),甚至相同目標(biāo)系統(tǒng)的啟動(dòng)代碼和機(jī)器相關(guān)代碼也是不相同的。啟動(dòng)代碼一般需要完成硬件初始化,裝載內(nèi)核及安裝根文件系統(tǒng)以及開(kāi)始內(nèi)核執(zhí)行的工作,不同目標(biāo)平臺(tái)的啟動(dòng)代碼一般可通過(guò)參考Linux下已有的啟動(dòng)代碼和相關(guān)CPU的手冊(cè)進(jìn)行編寫(xiě)。
啟動(dòng)代碼和機(jī)器相關(guān)代碼編程完成并可以啟動(dòng)系統(tǒng)后,下一步就可以開(kāi)始驅(qū)動(dòng)程序的編寫(xiě)了。Linux編寫(xiě)驅(qū)動(dòng)程序與一般情況下編寫(xiě)驅(qū)動(dòng)程序并沒(méi)有太大的區(qū)別,都需要對(duì)相關(guān)的硬件作出了解,同時(shí)需要遵循Linux編寫(xiě)驅(qū)動(dòng)程序的一些規(guī)則進(jìn)行,編寫(xiě)完一個(gè)驅(qū)動(dòng)程序后,一般就寫(xiě)一個(gè)相應(yīng)的測(cè)試程序已便隨時(shí)進(jìn)行測(cè)試。Linux下各種不同類(lèi)型的設(shè)備都有相當(dāng)多的驅(qū)動(dòng)程序源碼可以參考,因此實(shí)際編寫(xiě)時(shí)更多的時(shí)間是花在對(duì)特定硬件特性的熟悉上。
除了以上提到的這些步驟外,進(jìn)行實(shí)際開(kāi)發(fā)時(shí),很多時(shí)候還要進(jìn)行庫(kù)(這里所提到的庫(kù)均指C庫(kù)),GUI和系統(tǒng)程序的移植。這是因?yàn)榍度胧絃inux中所用的庫(kù)一般不能直接使用標(biāo)準(zhǔn)庫(kù),而需要進(jìn)行精簡(jiǎn),雖然已有些精簡(jiǎn)的C庫(kù)如uClibc等可供使用,但還是需要經(jīng)常對(duì)其進(jìn)行修改。嵌入式Linux常用的GUI有Microwindows,MiniGUI,QT/Embedded,TinyX等等,各自均有其使用的場(chǎng)合,所針對(duì)的目標(biāo)平臺(tái)和應(yīng)用層次也不一樣,必須根據(jù)實(shí)際需要進(jìn)行選擇。系統(tǒng)程序如mount,ls等等有些是應(yīng)用時(shí)所必須的,有些則是進(jìn)行調(diào)試時(shí)所需要的,初始時(shí)則需要一些通用的系統(tǒng)程序即可。
歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)保留鏈接,容。源電子網(wǎng),www.jssjbk.com本文地址:http://www.jssjbk.com/dz/22/2009622230700.shtml
本文標(biāo)簽:
猜你感興趣:
運(yùn)用單片機(jī)便是了解單片機(jī)硬件結(jié)構(gòu),以及內(nèi)部資源的運(yùn)用,在匯編或C語(yǔ)言中學(xué)會(huì)各種功用的初始化設(shè)置,以及完成各種功用的程序編制。 運(yùn)用按鈕輸入信號(hào),發(fā)光二極管顯現(xiàn)輸出
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
現(xiàn)場(chǎng)總線(xiàn)技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)控制中,尤其是CAN(Controler Area Nerwork)總線(xiàn)由于具有可靠性高、成本低、容易實(shí)現(xiàn)等優(yōu)點(diǎn),在現(xiàn)場(chǎng)總線(xiàn)實(shí)際工程應(yīng)用中占有了較大份額。
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計(jì)編程
我的答案是:不可以原因如下:一、軟件仿真多用于教學(xué),把更多精力用在軟件的實(shí)現(xiàn)上由于學(xué)生學(xué)習(xí)時(shí)間寶貴,焊接一套單片機(jī)實(shí)驗(yàn)板又比較花時(shí)間,并且實(shí)驗(yàn)項(xiàng)目太多,所以為了
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
對(duì)于新手來(lái)說(shuō),首先根據(jù)自己學(xué)的什么樣單片機(jī)就選什么類(lèi)型的單片機(jī),熟悉什么類(lèi)型的單片機(jī)就選什么類(lèi)型的單片機(jī)。因?yàn)閱纹瑱C(jī)不僅要設(shè)計(jì)電路,還要設(shè)計(jì)控制軟件。選自己熟悉的單片機(jī)上手最快,也最容易獲得成功。下面介紹如何選擇最適合的單片機(jī)。
關(guān)鍵詞: 所屬欄目:設(shè)計(jì)編程
單片機(jī)晶振的作用是什么
在初學(xué)單片機(jī)的時(shí)候,總是伴隨很多有關(guān)于晶振的問(wèn)題,其實(shí)晶振就是如同人的心臟,是血液的脈搏,把單片機(jī)的晶振問(wèn)題搞明白了,51單片機(jī)的其他問(wèn)題
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
Keil單片機(jī)編程軟件Keil C51是單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯
關(guān)鍵詞:51單片機(jī)PIC單片機(jī) 所屬欄目:設(shè)計(jì)編程
詳解51單片機(jī)運(yùn)行過(guò)程 注:1.ROM:只讀存儲(chǔ)器,單片機(jī)的只讀存儲(chǔ)區(qū)大多用于存儲(chǔ)程序固又稱(chēng)程序存儲(chǔ)器。51單片機(jī)是EPROM,所謂的EPROM是可擦除的只
關(guān)鍵詞: 所屬欄目:設(shè)計(jì)編程
pic單片機(jī)和c51有什么區(qū)別(區(qū)別1)總線(xiàn)結(jié)構(gòu):MCS-51單片機(jī)的總線(xiàn)結(jié)構(gòu)是馮-諾依曼型,計(jì)算機(jī)在同一個(gè)存儲(chǔ)空間取指令和數(shù)據(jù),兩者不能同時(shí)進(jìn)行;而PIC單片機(jī)的總線(xiàn)結(jié)構(gòu)是哈佛結(jié)構(gòu)
關(guān)鍵詞:單片機(jī)PIC單片機(jī)51單片機(jī) 所屬欄目:設(shè)計(jì)編程
實(shí)例分析51單片機(jī)出現(xiàn)故障及解決辦法。詳細(xì)如下:
故障現(xiàn)象:做了一個(gè)單片機(jī)溫度監(jiān)測(cè)系統(tǒng),仿真機(jī)上一切正常,燒寫(xiě)芯片無(wú)法工作。相關(guān)電路框圖: 用51做處理器,外圍電路如
關(guān)鍵詞:單片機(jī)51單片機(jī) 所屬欄目:設(shè)計(jì)編程
PIC單片機(jī)匯編語(yǔ)言指令詳解
pic單片機(jī)為最常用單片機(jī)之一,許多程序均基于pic單片機(jī)進(jìn)行開(kāi)發(fā)。因此,熟練pic單片機(jī)編程尤為重要。為保證大家能準(zhǔn)確、熟練掌握pic單片機(jī)的使
關(guān)鍵詞:PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
三種51單片機(jī)程序下載方法介紹
一般只能通過(guò)三種方式下載程序到單片機(jī)中:1.JTAG 2.ISP 3.IAP1.JTAG要使用JTAG方式下載程序,不管是使用J-LINK、ULINK、ST-LINK,只需要把
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
I2C每一位信號(hào)的時(shí)序流程,而I2C通信在字節(jié)級(jí)的傳輸中,也有固定的時(shí)序要求。I2C通信的起始信號(hào)(Start)后,首先要發(fā)送一個(gè)從機(jī)的地址,這個(gè)地址一共有 7位,緊跟著的第 8
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
越來(lái)越多的測(cè)量?jī)x器提供GPIB(General Purpose Intefface Bus)總線(xiàn)接口,通過(guò)該總線(xiàn)可以方便快捷地連接帶有GPIB接口的儀器及計(jì)算機(jī),組成一個(gè)GPlB網(wǎng)絡(luò)。GPIB設(shè)備與計(jì)算機(jī)連
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
每個(gè)單片機(jī)系統(tǒng)里都有晶振,全程是叫晶體震蕩器,在單片機(jī)系統(tǒng)里晶振的作用非常大,他結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所必須的時(shí)鐘頻率,單片機(jī)的一切指令的執(zhí)行都是建立
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
引言變頻調(diào)速作為交流電機(jī)調(diào)速的主要手段已經(jīng)在工業(yè)領(lǐng)域中應(yīng)用的十分廣泛,其具有的調(diào)速范圍寬、穩(wěn)速精度高、動(dòng)態(tài)響應(yīng)快、適用范圍廣、運(yùn)行可靠等技術(shù)性能,已逐步取代直流
關(guān)鍵詞:單片機(jī)變頻器 所屬欄目:設(shè)計(jì)編程
電子密碼鎖按照輸入密碼方式的不同可分為好多種,其中最常用的一種是用數(shù)字鍵盤(pán)輸入密碼的電子密碼鎖。這一講主要介紹用ATmega8和LCD1602液晶顯示器等組成的電子密碼鎖,這
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計(jì)編程
1.實(shí)驗(yàn)任務(wù)如圖所示,監(jiān)視開(kāi)關(guān)K1(接在P3.0端口上),用發(fā)光二極管L1(接在單片機(jī)P1.0端口上)顯示開(kāi)關(guān)狀態(tài),如果開(kāi)關(guān)合上,L1亮,開(kāi)關(guān)打開(kāi),L1熄滅。2.電路原理圖3.系統(tǒng)
關(guān)鍵詞:單片機(jī)LEDLED電路圖 所屬欄目:設(shè)計(jì)編程
設(shè)計(jì)低功耗MCU并不容易,也沒(méi)有為您的特定嵌入式設(shè)計(jì)選擇合適的MCU。許多特定于應(yīng)用的注意事項(xiàng)都會(huì)起到作用,這使得比較MCU規(guī)格表具有挑戰(zhàn)性。本文分析了在分析競(jìng)爭(zhēng)性MCU替
關(guān)鍵詞: 所屬欄目:設(shè)計(jì)編程
近日,有媒體報(bào)道稱(chēng),北京微電子技術(shù)研究所日前成功研制出國(guó)內(nèi)首個(gè)自主可控的宇航用千萬(wàn)門(mén)級(jí)高性能高可靠FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)芯片。FPGA一直是國(guó)內(nèi)的短板,市場(chǎng)基本被
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計(jì)編程
怎么學(xué)單片機(jī)?也常看到有人說(shuō)學(xué)了好幾個(gè)月可就是沒(méi)有什么進(jìn)展。當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來(lái)會(huì)有快慢之分,但我感覺(jué)最重的就是學(xué)
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計(jì)編程