電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 2742|回復(fù): 0
收起左側(cè)

嵌入式培訓(xùn)要開發(fā)板嗎_關(guān)于嵌入式Linux操作系統(tǒng)開發(fā)簡介

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-13 11:30:56 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
嵌入式培訓(xùn)要開發(fā)板嗎_關(guān)于嵌入式Linux操作系統(tǒng)開發(fā)簡介,   

  

嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件均可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。其發(fā)展已有二十多年的歷史,國際上也出現(xiàn)了一些著名的嵌入式操作系統(tǒng),如VxWorks,Palm OS,Windows CE等等,但這些操作系統(tǒng)均屬于商品化產(chǎn)品,價(jià)格昂貴且由于源代碼不公開導(dǎo)致了諸如對(duì)設(shè)備的支持 ,應(yīng)用軟件的移植等一系列的問題。而作為一種優(yōu)秀的 OS,近幾年在嵌入式領(lǐng)域異軍突起,成為了最有潛力的嵌入式操作系統(tǒng)。

嵌入式融合了嵌入式和的特點(diǎn),其開發(fā)與一般的應(yīng)用程序開發(fā)相比有著自己的特點(diǎn),下面簡要的介紹一下嵌入式Linux開發(fā)的一般過程。

了解硬件是首要的一步,這是嵌入式開發(fā)的特點(diǎn)決定的。了解硬件指的是了解整個(gè)硬件,判斷硬件對(duì)于當(dāng)前的應(yīng)用來說是否合適。嵌入式系統(tǒng)中需要使用到CPU和各種外圍設(shè)備,由此需要收集相關(guān)硬件的資料,包括CPU,芯片手冊(cè)和各種外圍設(shè)備的手冊(cè)以及相關(guān)的各種等,并對(duì)整體系統(tǒng)有較深入的了解。

了解硬件后,下一步就該準(zhǔn)備需要使用的Linux工具以及工具,這些工具包括:針對(duì)所用CPU的編譯器/匯編器/,相應(yīng)的庫工具,目標(biāo)文件分析/管理工具,符號(hào)查看器等等。幸運(yùn)的是,由于Linux的開放性,針對(duì)不同目標(biāo)平臺(tái)的Linux工具都可在網(wǎng)上免費(fèi)得到,絕大部分的這些工具都由GNU提供。所需要的工具還包括硬件廠商提供給公司的工具,如編程器,下載工具和查錯(cuò)器等等。所有這些工具對(duì)以后的開發(fā)、調(diào)試等都可說是必不可少的。嵌入式工程師數(shù)量, 精通嵌入式需要, 電視嵌入式設(shè)計(jì), 嵌入式條碼檢測(cè), 皮床都是嵌入式床墊, 劉宏斌嵌入式, 嵌入式電視墻輕奢, 嵌入式軟件更新快嗎, 嵌入式工控機(jī)2u, 如何編寫嵌入式, 嵌入式安卓做什么, 嵌入式應(yīng)用層框架, 嵌入式系統(tǒng)學(xué)科基礎(chǔ), 天加嵌入式天花機(jī), (嵌入式培養(yǎng))專業(yè), img屬于嵌入式嗎, 軟件嵌入式銷售, 嵌入式導(dǎo)航怎么樣, 警用嵌入式軟件, 嵌入式軟件好跳槽嗎, 無線嵌入式控制器, 嵌入式米箱廠, 復(fù)旦嵌入式電子,

做好以上的準(zhǔn)備工作后,就要進(jìn)入實(shí)質(zhì)性的工作階段了。首先需要安排內(nèi)存地址,如的內(nèi)存地址,的內(nèi)存地址等,這需要與實(shí)際應(yīng)用和硬件狀況相結(jié)合來考慮,要根據(jù)硬件的限制以及實(shí)際應(yīng)用的需要對(duì)內(nèi)存地址進(jìn)行合理的安排,同時(shí)要注意內(nèi)存地址的安排要具有一定的伸縮性,以便于將來需要改動(dòng)時(shí)所做的變動(dòng)達(dá)到最小。一般來說,嵌入式Linux的內(nèi)存地址安排體現(xiàn)在連接腳本當(dāng)中。

接著就該進(jìn)入編寫啟動(dòng)代碼和機(jī)器相關(guān)代碼階段了。各種不同目標(biāo)系統(tǒng),甚至相同目標(biāo)系統(tǒng)的啟動(dòng)代碼和機(jī)器相關(guān)代碼也是不相同的。啟動(dòng)代碼一般需要完成硬件初始化,裝載內(nèi)核及安裝根文件系統(tǒng)以及開始內(nèi)核執(zhí)行的工作,不同目標(biāo)平臺(tái)的啟動(dòng)代碼一般可通過參考Linux下已有的啟動(dòng)代碼和相關(guān)CPU的手冊(cè)進(jìn)行編寫。

啟動(dòng)代碼和機(jī)器相關(guān)代碼編程完成并可以啟動(dòng)系統(tǒng)后,下一步就可以開始驅(qū)動(dòng)程序的編寫了。Linux編寫驅(qū)動(dòng)程序與一般情況下編寫驅(qū)動(dòng)程序并沒有太大的區(qū)別,都需要對(duì)相關(guān)的硬件作出了解,同時(shí)需要遵循Linux編寫驅(qū)動(dòng)程序的一些規(guī)則進(jìn)行,編寫完一個(gè)驅(qū)動(dòng)程序后,一般就寫一個(gè)相應(yīng)的測(cè)試程序已便隨時(shí)進(jìn)行測(cè)試。Linux下各種不同類型的設(shè)備都有相當(dāng)多的驅(qū)動(dòng)程序源碼可以參考,因此實(shí)際編寫時(shí)更多的時(shí)間是花在對(duì)特定硬件特性的熟悉上。

除了以上提到的這些步驟外,進(jìn)行實(shí)際開發(fā)時(shí),很多時(shí)候還要進(jìn)行庫(這里所提到的庫均指C庫),GUI和系統(tǒng)程序的移植。這是因?yàn)榍度胧絃inux中所用的庫一般不能直接使用標(biāo)準(zhǔn)庫,而需要進(jìn)行精簡,雖然已有些精簡的C庫如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)程序即可。

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表