工控網(wǎng)首頁
>

應用設計

>

怎么開發(fā)嵌入式系統(tǒng)

怎么開發(fā)嵌入式系統(tǒng)

2015/9/10 11:45:44

  在介紹怎么開發(fā)嵌入式系統(tǒng)之前先簡單了解下嵌入式系統(tǒng)的,嵌入式系統(tǒng)分為4層,硬件層、驅動層、操作系統(tǒng)層和應用層。

1、硬件層:硬件層是整個嵌入式系統(tǒng)的根本,也是驅動層的基礎,一個優(yōu)秀的驅動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設計的,同時還要對操作系統(tǒng)內核及其調度性相當?shù)氖煜さ摹?/span>

硬件層比較適合于,電子、通信、自動化、機電一體、信息工程類專業(yè)的人來搞,需要掌握的專業(yè)基礎知識有,單片機原理及接口技術、微機原理及接口技術、C語言。 

2、驅動層:驅動工程師不僅要能看懂電路圖還要能對操作系統(tǒng)內核十分的精通,以便其所寫的驅動程序在系統(tǒng)調用時,不會獨占操作系統(tǒng)時間片,而導致其它任務不能運行。

驅動層比較適合于電子、通信、自動化、機電一體、信息工程類專業(yè)

3、操作系統(tǒng)層:操作系統(tǒng)是負責系統(tǒng)任務的調試、磁盤和文件的管理,而嵌入式系統(tǒng)的實時性十分重要。

4、應用層:不管是在windows下,還是涉及到ava方面的編程,進行編程接口函數(shù)調用,到操作系統(tǒng)下只是編譯和開發(fā)環(huán)境有相應的變化而已。

嵌入式系統(tǒng)開發(fā)就是對于除了電腦之外的所有電子設備上操作系統(tǒng)的開發(fā),開發(fā)對象有手機,掌上電腦,機電系統(tǒng)等。以下就為大家介紹怎么開發(fā)嵌入式系統(tǒng)。 

 嵌入式系統(tǒng)開發(fā)流程:

    第一步:建立開發(fā)環(huán)境操作系統(tǒng)一般使用Redhat Linux,選擇定制安裝或全部安裝,通過網(wǎng)絡下載相應的GCC交叉編譯器進行安裝(比如,arm-linux-gcc、arm-uclibc-gcc),或者安裝產品廠家提供的相關交叉編譯器;

   第二步:配置開發(fā)主機配置MINICOM,一般的參數(shù)為波特率115200 Baud/s,數(shù)據(jù)位8位,停止位為19,無奇偶校驗,軟件硬件流控設為無。在Windows下的超級終端的配置也是這樣。MINICOM軟件的作用是作為調試嵌入式開發(fā)板的信息輸出的監(jiān)視器和鍵盤輸入的工具。配置網(wǎng)絡主要是配置NFS網(wǎng)絡文件系統(tǒng),需要關閉防火墻,簡化嵌入式網(wǎng)絡調試環(huán)境設置過程。

   第三步:建立引導裝載程序BOOTLOADER從網(wǎng)絡上下載一些公開源代碼的BOOTLOADER,如UBOOTBLOB、VIVILILO、ARM-BOOT、RED-BOOT等,根據(jù)具體芯片進行移植修改。有些芯片沒有內置引導裝載程序,比如,三星的ARV17、ARM9系列芯片,這樣就需要編寫開發(fā)板上FLASH的燒寫程序,可以在網(wǎng)上下載相應的燒寫程序,也有Linux下的公開源代碼的J-FLASH程序。如果不能燒寫自己的開發(fā)板,就需要根據(jù)自己的具體電路進行源代碼修改。這是讓系統(tǒng)可以正常運行的第一步。如果用戶購買了廠家的仿真器比較容易燒寫FLASH,雖然無法了解其中的核心技術,但對于需要迅速開發(fā)自己的應用的人來說可以極大提高開發(fā)速度。

   第四步:下載已經移植好的Linux操作系統(tǒng)如MCLiunxARM-Linux、PPC-Linux等,如果有專門針對所使用的CPU移植好的Linux操作系統(tǒng)那是再好不過,下載后再添加特定硬件的驅動程序,然后進行調試修改,對于帶MMUCPU可以使用模塊方式調試驅動,而對于MCLiunx這樣的系統(tǒng)只能編譯內核進行調試。

   第五步:建立根文件系統(tǒng)下載使用BUSYBOX軟件進行功能裁減,產生一個最基本的根文件系統(tǒng),再根據(jù)自己的應用需要添加其他的程序。由于默認的啟動腳本一般都不會符合應用的需要,所以就要修改根文件系統(tǒng)中的啟動腳本,它的存放位置位于/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動掛裝文件系統(tǒng)的配置文件/etc/fstab,具體情況會隨系統(tǒng)不同而不同。根文件系統(tǒng)在嵌入式系統(tǒng)中一般設為只讀,需要使用mkcramfs genromfs等工具產生燒寫映像文件。

   第六步:建立應用程序的FLASH磁盤分區(qū)一般使用JFFS2YAFFS文件系統(tǒng),這需要在內核中提供這些文件系統(tǒng)的驅動,有的系統(tǒng)使用一個線性FLASH(NOR)512KB32MB,有的系統(tǒng)使用非線性FLASH(NAND)8MB512MB,有的兩個同時使用,需要根據(jù)應用規(guī)劃FLASH的分區(qū)方案。

  第七步:開發(fā)應用程序可以放入根文件系統(tǒng)中,也可以放入YAFFSJFFS2文件系統(tǒng)中,有的應用不使用根文件系統(tǒng),直接將應用程序和內核設計在一起,這有點類似于μC/OS-II的方式。

第八步:燒寫內核根文件系統(tǒng)和應用程序,發(fā)布產品。

投訴建議

提交

查看更多評論
其他資訊

查看更多

超越傳統(tǒng)直覺,MATLAB/Simulink助力重型機械的智能化轉型

新大陸自動識別精彩亮相2024華南國際工業(yè)博覽會

派拓網(wǎng)絡被Forrester評為XDR領域領導者

智能工控,存儲強基 | ??低晭砭手黝}演講

展會|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會