金牌講師個人總結 嵌入式快速入門訣竅!

2021-06-02 12:42:20 字數 1612 閱讀 7417

最簡單的建立

嵌入式linux

應用的方法就是從我們使用的桌面linux入手,安裝乙個喜愛的版本,把我們的某個應用作為初始化的一部分,框架就算完成了。

當然,嵌入式linux

在軟體上,它可以按照三層的概念由核心裝載器,定製的核心和較少的為特定任務設計的靜態連線的應用程式組成。之所以使用靜態連線的應用程式,是因為少量的靜態連線程式所要的儲存空間,比同樣數量的動態連線的程式所佔的空間小,這個平衡點需要我們在實際開發中去獲取。也許你正在設計的是個pda,它的應用程式較多,那麼你很可能就要使用動態連線程式來減少儲存空間。在你的/bin或者/sbin目錄下,用廠列表看看bash,ifconfig, vi...,也許只用幾十k,當你執行 ldd /bin/bash 時,你會看到它們都和好幾個庫檔案相連。好了,這樣看來,我們得把pc想像成乙個嵌入式硬體平台,再重新製作乙個特定功能的嵌入式linux。

基礎知識

再進行實際操作之前,先來搞清楚幾個基礎知識。

核心裝載器loader,它的作用是把核心從外部儲存器,移動到記憶體中。它只作這個事情,一旦完成了調入核心的工作,loader就跳轉到核心位置開始執行。不同架構有不同的 loader,在x86結構的pc上,通常使用的loader有lilo,grub,syslinux,syslinux在嵌入式linux中也同樣工作。其他非x86架構的應用中,你必須使用專門的loader,或者自己編寫loader來裝入核心。也有不使用loader的情況,系統加電以後,核心直接從燒錄有映象的flash上開始執行。

核心,一旦核心開始執行,它將通過驅動程式初始化所有硬體,這可以從我們的pc機監視器的輸出看出來,每個驅動程式都列印一些有關它的資訊。初始化完成後,計算機就準備執行嵌入式應用。也許乙個,也許是多個應用程式組成了嵌入式應用,但通常首先呼叫的是init(通過loader 向核心傳入init=/program 可以定製首先執行的程式)。桌面linux中,init會讀取/etc/inittab檔案,來決定執行級別和哪些指令碼和命令。嵌入式應用中,可以根據實際的情況決定是否使用標準的init執行方式,也許這個init是個靜態程式,它能夠完成我們的嵌入應用的特定任務,那完全不用考慮inittab了。

initrd檔案系統,initrd以一種把核心從儲存介質裝入到記憶體的相同的機制來裝入乙個小型檔案系統。這個檔案系統最好是以壓縮的方式儲存在介質上的,解壓縮到ram盤上。通過使用initrd,包含有核心驅動和啟動指令碼的小檔案系統,就可以直接從介質上和核心一起啟動起來,核心屆壓縮這個檔案系統,並執行這個檔案系統上叫做/linuxrc的指令碼檔案,這個指令碼通常會把啟動過程中所需要的驅動程式裝入。指令碼退出以後,initrd檔案系統也卸下了,啟動過程進入真正初始化過程。對於嵌入式來講,可以將需要的應用軟體都執行在這個initrd檔案系統上,只要/linxrc檔案不結束,核心啟動過程的其他部分就不會繼續。

做個試驗:

cp /boot/initrd-2.4.20.img /tmp

cd /tmp

mv initrd-2.4.2-.img initrd.img.gz

gunzip initrd.img.gz

mount -o loop initrd.img /mnt

cd /mnt

lscat linuxrc 可以看到裡面執行了載入了兩個模組的操作,你在啟動

嵌入式linxu

的時候會看見螢幕列印資訊。

嵌入式入門

入門階段 不要只看書,要多動手,但千萬不是直接動手,不去看書 c語言 嵌入式程式設計大多用c語言 少量彙編,先學習c語言,彙編用到的時候再上網查詢。教材 隨便一本c語言大學教材,快速入門,電腦上照著教材敲 有問題網上搜尋解決。簡單模組 數碼管 蜂鳴器 電機 按鍵 流水燈等 不一定要學習開發板上的所有...

嵌入式個人規劃

嵌入式開發職位要求 linux系統 shell程式設計 linux開發環境 c語言 arm硬體平台 資料結構 linux核心 驅動程式等 先從shell著手,以後慢慢補充哈 shell推薦書籍 推薦書籍 1.鳥哥的linux私房菜 基礎學習篇 第3版 它對linux講解,由淺入深,一定會讓很多初學者...

某公司嵌入式高階講師要求

職位描述 此職位提供年薪十萬左右!工作職責 1 研究嵌入式專案開發技能培訓課程的需求 2 負責專案課程的開發和優化,負責專案管理網路課程的開發和宣傳推廣 3 承擔學生課程的授課任務,並對學生滿意度及學生程式設計能力負責。4 培養學生良好的程式設計能力,引導學生良好的社會責任心態,及職業發展發向。職位...