嵌入式程序開發

在嵌入式開發中,通常要製做內核映像和文件系統,同時須將可執行程序放置到文件系統中,並配置好相應的環境變。最後將內核和文件系統一塊兒燒寫到開發板上。linux

嵌入式系統的概念:編程

以應用爲中心,以計算機技術爲基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。網絡

嵌入式系統與普通PC機的對比:工具

軟件上的對比:spa

 

名稱操作系統

嵌入式系統調試

PCblog

引導代碼接口

Bootloader引導,針對不一樣電路進行移植內存

主板的BIOS引導,無須改動

操做系統

Linux、WinCE、VxWorks等,須要移植

Windows、Linux等,無需移植

驅動程序

每一個設備驅動針對電路板進行開發或移植,通常不能直接下載使用

操做系統含有大多數驅動程序,或下載直接使用

開發環境

交叉編譯

本機編譯

仿真器

須要

不須要

協議棧

須要移植

操做系統或第三方提供

 

硬件上的對比:

設備名稱

嵌入式系統

PC

CPU

嵌入式處理器(ARM,MIPS,Score+

CPU(Intel、AMD等)

內存

SDRAM芯片

SDRAM或DDR內存條

存儲設備

Flash芯片

硬盤

輸入設備

觸摸屏,按鍵

鼠標、鍵盤、麥克等

輸出設備

LCD

顯示器

接口

MAX232等芯片

主板集成

其它設備

音頻芯片、USB芯片、網卡芯片等

主板集成或外接卡

 

嵌入式系統的開機順序:

Bootloader----kernel----rootfs

PC機的開機順序:

BIOS----GRUB---kernel----rootfs

 

嵌入式系統的開發流程:

一、  開發目標硬件系統

選擇微處理器、Flash等。

二、  創建交叉開發環境

安裝交叉編譯工具鏈(如arm-linux-gcc)、設置好環境變量、配置串口通訊工具(如超級終端、SecureCRT等)、配置網絡通訊工具(如NFS)等

三、  開發Bootloader:

移植Bootloader,如vivi

四、  移植Linux內核

如Linux2.4.18內核的移植

五、  開發根文件系統

如cramfs文件系統的製做

六、  開發相關的硬件驅動程序

如LCD、網卡、GPIO等

七、  開發上層的應用程序

如網絡、GUI開發

 

在第7步中,通常如今PC機上進行開發調試,而後經過交叉編譯將代碼編程成目標開發板可執行的程序。

接下來咱們先不直接燒寫內核和根文件系統,而是將內核和文件系統放在PC中,在uboot中分別設置TFTP和NFS,

這樣uboot在運行時即可以經過TFTP將內核從PC機讀入開發板ROM中,同時經過NFS訪問PC機上設置的根文件系統。

當程序運行無誤時,再將內核和文件系統燒寫到目標開發板。

相關文章
相關標籤/搜索