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

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

搜索
查看: 3046|回復: 1
收起左側(cè)

深圳南山嵌入式培訓_一分鐘帶你看懂:工控機嵌入式操作系統(tǒng)Linux

[復制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-14 16:58:35 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
深圳南山嵌入式培訓_一分鐘帶你看懂:工控機嵌入式操作系統(tǒng)Linux,   

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

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

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

了解硬件后,下一步就該準備需要使用的Linux工具以及其他工具,這些工具包括:針對所用CPU的編譯器/匯編器/連接器,相應的庫工具,目標文件分析/管理工具,符號查看器等等。幸運的是,由于Linux的開放性,針對不同目標平臺的Linux工具都可在網(wǎng)上免費得到,絕大部分的這些工具都由GNU提供。所需要的其他工具還包括硬件廠商提供給公司的工具,如編程器,下載工具和查錯器等等。所有這些工具對以后的開發(fā)、調(diào)試等都可說是必不可少的。上海嵌入式linux, 嵌入式sim卡技術, 工業(yè)4.0與嵌入式, 嵌入式應用實戰(zhàn), 網(wǎng)絡可視化嵌入式, 嵌入式英文全稱, 嵌入式培訓韋東山, 碼農(nóng)和嵌入式, 嵌入式psu, 嵌入式光引擎, 嵌入式軟件開發(fā)哦, 嵌入式開發(fā)中級簡歷, 嵌入式軟件開發(fā)目標, 嵌入式音箱開孔要求, 電氣嵌入式設計方案, stm32嵌入式書, 嵌入式win7精簡, 網(wǎng)絡工程移動嵌入式, 嵌入式平油網(wǎng), 嵌入式應用層與底層, 嵌入式教學系統(tǒng), 嵌入式qt遠程調(diào)試, 嵌入式內(nèi)核特點,

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

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

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

除了以上提到的這些步驟外,進行實際開發(fā)時,很多時候還要進行庫(這里所提到的庫均指C庫),GUI和系統(tǒng)程序的移植。這是因為嵌入式Linux中所用的庫一般不能直接使用標準庫,而需要進行精簡,雖然已有些精簡的C庫如uClibc等可供使用,但還是需要經(jīng)常對其進行修改。嵌入式Linux常用的GUI有Microwindows,MiniGUI,QT/Embedded,TInyX等等,各自均有其使用的場合,所針對的目標平臺和應用層次也不一樣,必須根據(jù)實際需要進行選擇。系統(tǒng)程序如mount,ls等等有些是應用時所必須的,有些則是進行調(diào)試時所需要的,初始時則需要一些通用的系統(tǒng)程序即可。
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


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