![]() |
|
嵌入式Linux開發學習 |
|
什么是嵌入式Linux 嵌入式Linux(Embedded Linux)是指對標準Linux經過小型化裁剪處理之后,能夠固化在容量只有幾K或者幾M字節的存儲器芯片或者單片機中,適合于特定嵌入式應用場合的專用Linux操作系統。 嵌入式Linux開發流程 在一個嵌入式系統中使用Linux開發,根據應用需求的不同有不同的配置開發方法,但是一般都要經過如下的過程: 1.建立開發環境 操作系統一般使用RedHat-Linux,版本從7到9都可以,選擇定制安裝或全部安裝,通過網絡下載相應的GCC交叉編譯器進行安裝(例如arm-Linux-gcc、arm-μclibc-gcc),或者安裝產品廠家提供的交叉編譯器。 2.配置開發主機 配置MINICOM,一般的參數為波特率為115 200bps,數據位為8位,停止位為1,無奇偶校驗,軟件硬件流控設為無。在Windows下的超級終端的配置也是這樣的。MINICOM軟件的作用是作為調試嵌入式開發板的信息輸出的監視器和鍵盤輸入的工具。配置網絡,主要是配置NFS網絡文件系統,需要關閉防火墻,簡化嵌入式網絡調試環境設置過程。 3.建立引導裝載程序BOOTLOADER 從網絡上下載一些公開源代碼的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據自己具體的芯片進行移植修改。有些芯片沒有內置引導裝載程序,例如三星的ARM7、ARM9系列芯片,這樣就需要編寫開發板上Flash的燒寫程序,網絡上有免費下載的Windows下通過JTAG并口簡易仿真器燒寫ARM外圍Flash芯片的燒寫程序,也有Linux下的公開源代碼的J-Flash程序。如果不能燒寫自己的開發板,就需要根據自己的具體電路進行源代碼修改。這是系統正常運行的第一步。如果購買了廠家的仿真器當然比較容易燒寫Flash,這對于需要迅速開發自己產品的人來說可以極大地提高開發速度,但是其中的核心技術是無法了解的。 4.下載別人已經移植好的Linux操作系統 如μCLinux、ARM-Linux、PPC-Linux等,如果有專門針對所使用的CPU移植好的Linux操作系統那是再好不過的,下載后再添加自己的特定硬件的驅動程序,進行調試修改,對于帶MMU的CPU可以使用模塊方式調試驅動,對于μCLinux這樣的系統則需編譯進內核進行調試。 5.建立根文件系統 從www.busybox.net下載使用BUSYBOX軟件進行功能裁減,產生一個基本的根文件系統,再根據自己的應用需要添加其他程序。默認的啟動腳本一般都不會符合應用的需要,所以就要修改根文件系統中的啟動腳本,它的存放位置位于/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動掛裝文件系統的配置文件/etc/fstab,具體情況會隨系統不同而不同。根文件系統在嵌入式系統中一般設為只讀,需要使用mkcramfs、genromfs等工具產生燒寫映像文件。 6.建立應用程序的Flash磁盤分區 一般使用JFFS2或YAFFS文件系統,這需要在內核中提供這些文件系統的驅動,有的系統使用一個線性Flash(NOR型)512KB~32MB,有的系統使用非線性Flash(NAND型)8~512MB,有的兩個同時使用,需要根據應用規劃Flash的分區方案。 7.開發應用程序 應用程序可以放入根文件系統中,也可以放入YAFFS、JFFS2文件系統中,有的應用不使用根文件系統,直接將應用程序和內核設計在一起,這有點類似于μCOS-II的方式。 8.燒寫內核、根文件系統、應用程序 9.發布產品 在線觀看【華清遠見公益培訓之嵌入式Linux開發入門普及課程】 免費下載【華清遠見嵌入式linux培訓視頻】 精品課程【嵌入式linux應用開發班|嵌入式Linux系統開發班|嵌入式Linux驅動開發班 】 熱點鏈接:
1、ARM Cortex A9處理器好嗎
|