當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]當前嵌入式的發(fā)展遠遠大于傳統(tǒng)的PC領域,那么嵌入式上的linux和PC上到底有什么區(qū)別呢?我們知道PC上基本是window一統(tǒng)天下,在PC上linux使用場景不是很多,除了研發(fā)領域.在個人電腦領域,window占據(jù)了絕大多數(shù)市場,但是在服務器領域,linux系統(tǒng)占據(jù)了大部分市場。

當前嵌入式的發(fā)展遠遠大于傳統(tǒng)的PC領域,那么嵌入式上的linux和PC上到底有什么區(qū)別呢?我們知道PC上基本是window一統(tǒng)天下,在PC上linux使用場景不是很多,除了研發(fā)領域.在個人電腦領域,window占據(jù)了絕大多數(shù)市場,但是在服務器領域,linux系統(tǒng)占據(jù)了大部分市場,可能很多電腦小白不知道.我們今天的內容是嵌入式上linux的啟動流程,首先看一下嵌入式和PC的差異.

首先PC得益于強大的intel x64 x86處理器,即我們常見的i7 i5,運算和處理能力超級強,是任何嵌入式設備無法企及的.大名鼎鼎的驍龍835需要幾個CPU組合一起才能抵得上一個老舊的i3處理器,所以在PC上cpu RAM 和存儲設備都可以認為是異常強大的,對嵌入式設備來說就是”海量”. 我們來看一下嵌入式設備的配置,手機基本上上算是最強大的 嵌入式設備的,性能根本無非和PC媲美,但一般的嵌入式設備配置要和手機差得太遠,比如我們網(wǎng)上買的一個 家庭安防攝像頭,里面跑了一套linux系統(tǒng),他的 物理配置是什么? 400MHZ的CPU,100MBRAM,和64MB-flash!!!!沒錯,太低端了.所以 嵌入式上的軟件遠不能和PC軟件進行比較,嵌入式上linux和PC上的linux有什么區(qū)別??

 

首先兩套系統(tǒng)都是同一分源碼編譯而來的,所不同的是,嵌入式對源碼進行了大量的裁剪,即刪除了大量用不到和很少用的功能,同時對很多功能進行簡化,是linux系統(tǒng)能在很低的配置上運行起來,還必須節(jié)省資源以滿足其他軟件的運行.所以嵌入式軟件開發(fā)和PC身上最大的一個差異就是 節(jié)省 節(jié)省在節(jié)省.

我們看一下PCwindow的啟動流程:首先開機的時候,會出現(xiàn)黑屏白字的界面,這是我們熟知的bios,接下來會出現(xiàn)絢麗的window啟動界面,最后windos啟動成功,然后window系統(tǒng)會從C盤尋找需要開機啟動的應用程序,執(zhí)行,啟動結束.我們總結一下,整個過程分為三分部,第一部分是bios 屬于bootloard的一種,第二部分是window,即操作系統(tǒng),第三部分屬于應用啟動,而應用存放在磁盤/文件系統(tǒng)中.即 bootloader->os->filesystem.

同樣在嵌入式上也遵守三大件套路,只是 嵌入式養(yǎng)不起bios這個龐然大物(100M),所以嵌入式選擇u-boot作為其bootloader, u-boot大小只有200KB左右,功能基本滿足使用,所以嵌入式上使用u-boot最多.第二階段是操作系統(tǒng),嵌入式上肯定是linux系統(tǒng)了.第三階段,即 linux啟動完成會讀取filesystem,執(zhí)行一些開機應用,整個系統(tǒng)結束.

那么u-boot是如何跳轉到linux系統(tǒng)呢? 首先u-boot將linux os代碼拷貝到指定的RAM地址,然后執(zhí)行 MOV PC addr,即完成了CPU的指令切換,下一跳指令即開始運行l(wèi)inux的起始位置. Linux第一條指令必須是匯編代碼,因為C語言無法指令是編譯器進行分配,不能將特定的指令放在特定的位置(比如起始位置); 但是因為匯編的復雜和難懂,所以匯編代碼要盡可能的少,盡可能快的跳轉到C去執(zhí)行. 但是C需要堆棧環(huán)境,這一點匯編必須提前做好,然后就是C的天下了.

一個設備,硬件可以分為兩部分,第一部分是CPU,第二部分是外設.那么應該縣初始化哪一個呢?答案是CPU. 接下來要針對CPU進行初始化,不同的CPU初始化方式不一樣,要跳轉到不同的CPU代碼中去執(zhí)行. 初始化CPU之后就會進行一些核心的外設初始化,比如串口 ,但是不忙著顯示屏 網(wǎng)卡的初始化,因為不需要他們linux也能工作.接下來會進行進程的創(chuàng)建 中斷初始化 定時器初始化 等linux系統(tǒng)核心功能的初始化,這么都是軟件層面上的功能,這PC上linux是一致的.

最后linux會啟動第一個進程,init進程,他是一個用戶進程,init進程是所以進程的父類.init進程執(zhí)行什么動作呢?他會讀取/etc/init.d/rcS配置文件,該配置文件描述了有哪些開機需要指定的任務或者應用. 要注意,嵌入式上的linux使用的文件系統(tǒng)和Ubuntu redhat是不一樣的,嵌入式上的filesystem是經(jīng)過極度精簡的,很多命令都是簡化版,使用方式不一定和PC上系統(tǒng),但是功能是滿足你的需要.

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉