摘 要: 本文從軟硬件兩方面介紹了構(gòu)建嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái)的基本思路,并給出了一套實(shí)現(xiàn)方案。該平臺(tái)硬件部分低成本、擴(kuò)展性強(qiáng)、升級(jí)方便;軟件部分功能豐富,操作系統(tǒng)內(nèi)核基于開(kāi)放源代碼的mClinux系統(tǒng),成熟穩(wěn)定,GUI支持中文。
我們從硬件/軟件協(xié)同設(shè)計(jì)的角度出發(fā),構(gòu)建和實(shí)現(xiàn)了一套基于Linux系統(tǒng)的嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái),包括硬件設(shè)計(jì)平臺(tái)和軟件開(kāi)發(fā)平臺(tái)兩部分。利用該平臺(tái)可以方便地進(jìn)行有關(guān)嵌入式系統(tǒng)的研發(fā),是一套廉價(jià)而全面的解決方案。
硬件設(shè)計(jì)平臺(tái)
硬件平臺(tái)由基本系統(tǒng)(包括CPU和存儲(chǔ)器)加上外圍接口電路模塊構(gòu)成?;鞠到y(tǒng)為操作系統(tǒng)內(nèi)核提供一個(gè)最小的調(diào)試和運(yùn)行環(huán)境,外圍接口模塊包括目前應(yīng)用較為廣泛的多種硬件接口電路,如LCD液晶顯示模塊、觸摸屏模塊、CF卡模塊、USB模塊、以太網(wǎng)模塊、IC卡模塊等,可以方便地根據(jù)開(kāi)發(fā)者的需求進(jìn)行選擇使用。硬件設(shè)計(jì)平臺(tái)基本框架如圖1所示。
目前,硬件平臺(tái)基于摩托羅拉公司的DragonBall EZ328(16MHz)微處理器,主要配置包括8MB EDO DRAM、4MB FLASH、320×240像素單色LCD、6個(gè)輸入按鍵、一路RS232接口、一路10M以太網(wǎng)接口等。EZ328是一款得到了廣泛應(yīng)用的32位嵌入式微處理器,內(nèi)部集成了大量的功能模塊,并且具有較強(qiáng)的擴(kuò)展能力。EZ328取消了內(nèi)存管理單元(MMU),降低了硬件成本及運(yùn)行功耗。EZ328所支持的引導(dǎo)模式也極大地方便了系統(tǒng)的調(diào)試。在我們的開(kāi)發(fā)板上,只要驅(qū)動(dòng)EZ328的EMUBRK引腳為低電平并執(zhí)行系統(tǒng)復(fù)位,就可使EZ328進(jìn)入引導(dǎo)模式,其內(nèi)建的引導(dǎo)程序就會(huì)開(kāi)始運(yùn)行,初始化芯片上集成的UART控制器并準(zhǔn)備接收數(shù)據(jù)。這樣開(kāi)發(fā)者就可以通過(guò)UART控制器寫寄存器來(lái)初始化開(kāi)發(fā)板,然后下載程序到開(kāi)發(fā)板的RAM和FLASH中運(yùn)行調(diào)試。同時(shí),硬件平臺(tái)CPU可方便地升級(jí)到VZ328(主頻33MHz,EZ328的后續(xù)產(chǎn)品)。而且,在EZ328硬件平臺(tái)上開(kāi)發(fā)的軟件幾乎不需要修改就能使用在VZ328和ColdFire系列微處理器上,具有很廣的適用面。ColdFire微處理器主要應(yīng)用于互聯(lián)網(wǎng)設(shè)備、LAN電話技術(shù)、低端網(wǎng)絡(luò)控制、工業(yè)控制、圖像和存儲(chǔ)等等。

圖1 硬件設(shè)計(jì)平臺(tái)基本框架

圖2 軟件開(kāi)發(fā)環(huán)境
軟件開(kāi)發(fā)平臺(tái)
軟件平臺(tái)由嵌入式Linux操作系統(tǒng)、嵌入式圖形用戶界面(GUI)、GNU交叉編譯調(diào)試工具組成。其中嵌入式Linux操作系統(tǒng)包括嵌入式Linux內(nèi)核,ROM/RAM文件系統(tǒng)。選用Linux是因?yàn)長(zhǎng)inux高度模塊化,容易定制,具有很高的可移植性。
軟件平臺(tái)所實(shí)現(xiàn)的嵌入式Linux系統(tǒng)內(nèi)核是在mCLinux系統(tǒng)的基礎(chǔ)上移植而來(lái)的。它是專門面向沒(méi)有MMU的CPU的Linux操作系統(tǒng),并且專為嵌入式系統(tǒng)做了許多小型化的工作,得到了廣泛的應(yīng)用,新型的藍(lán)牙網(wǎng)絡(luò)設(shè)備也采用了mClinux操作系統(tǒng)。mCLinux作為一個(gè)高度優(yōu)化的、代碼緊湊的嵌入式Linux,雖然體積很小,但仍然保留了Linux的大多數(shù)優(yōu)點(diǎn):穩(wěn)定、良好的移植性,優(yōu)秀的網(wǎng)絡(luò)功能,完備的對(duì)各種文件系統(tǒng)的支持,以及標(biāo)準(zhǔn)豐富的API。在我們的開(kāi)發(fā)平臺(tái)上,移植的操作系統(tǒng)內(nèi)核大小約400KB,提供了通用Linux API和完整的TCP/IP 協(xié)議棧,實(shí)現(xiàn)了對(duì)NFS、ext2、ROMfs、JFFS文件系統(tǒng)的支持。
GUI采用了MicroWindows,具有中文本地化支持,包括GB2312 等字符集的支持,中文輸入法等等。在其上又開(kāi)發(fā)了基于FLTK的嵌入式GUI圖形包,提供了比較完善的圖形功能,如對(duì)菜單、按鈕、滾動(dòng)條等多種GUI控件的支持。
采用這種圖形包,我們已開(kāi)發(fā)出大小僅1MB的嵌入式中文Web瀏覽器,并且正在集成清華文通的中文手寫輸入軟件。
交叉編譯調(diào)試工具采用通用的Linux開(kāi)發(fā)套件—GNU開(kāi)發(fā)套件,包括了一系列的開(kāi)發(fā)調(diào)試工具。主要組件有:
● Gcc—編譯器,可以做成交叉編譯的形式,即在宿主機(jī)上開(kāi)發(fā)編譯目標(biāo)板上可運(yùn)行的二進(jìn)制文件。
● Binutils—輔助工具,包括objdump(可以反編譯二進(jìn)制文件),as(匯編編譯器),ld(連接器)等等。
● Gdb—調(diào)試器,可使用多種交叉調(diào)試方式,包括使用串口和以太網(wǎng)調(diào)試。
開(kāi)發(fā)環(huán)境
本嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái)的GNU開(kāi)發(fā)套件運(yùn)行于桌面Linux操作系統(tǒng)。開(kāi)發(fā)者首先使用Gcc和Gdb編譯和調(diào)試bootloader程序;再通過(guò)串口將宿主機(jī)和目標(biāo)板連接起來(lái),使EZ328進(jìn)入引導(dǎo)模式,通過(guò)一個(gè)簡(jiǎn)單的perl程序?qū)⒄{(diào)試好的Bootloader程序下載到目標(biāo)板的RAM中,作為monitor監(jiān)控程序,同時(shí)在宿主機(jī)上啟動(dòng)minicom和它進(jìn)行串口通信,對(duì)Linux內(nèi)核及驅(qū)動(dòng)進(jìn)行下載和調(diào)試;一旦Linux內(nèi)核在目標(biāo)板上運(yùn)行并初始化以太網(wǎng)接口,再由網(wǎng)線將宿主機(jī)和目標(biāo)板連接起來(lái)(如圖2所示)。通過(guò)以太網(wǎng),開(kāi)發(fā)者可以使用NFS文件系統(tǒng)安裝上宿主機(jī)的硬盤,這樣目標(biāo)板就可以通過(guò)以太網(wǎng)對(duì)宿主機(jī)的硬盤直接進(jìn)行操作,不需下載即可調(diào)試程序;若Linux內(nèi)核啟動(dòng)了遠(yuǎn)程登錄服務(wù),開(kāi)發(fā)者還可以登錄到目標(biāo)板上調(diào)試應(yīng)用程序。
結(jié)語(yǔ)
嵌入式系統(tǒng)具有集成度高、體積小、反應(yīng)速度快、智能化、穩(wěn)定性高及可靠性強(qiáng)等特點(diǎn),應(yīng)用十分廣泛。追蹤國(guó)外嵌入式系統(tǒng)領(lǐng)域的先進(jìn)技術(shù),根據(jù)國(guó)情研發(fā)自己的嵌入式系統(tǒng)軟硬件平臺(tái),對(duì)提高國(guó)內(nèi)的嵌入式系統(tǒng)研究水平非常重要。在現(xiàn)有的這套開(kāi)發(fā)平臺(tái)上,我們已經(jīng)為有關(guān)單位完成了電子書(Ebook)項(xiàng)目的研制,同時(shí)開(kāi)展了嵌入式操作系統(tǒng)實(shí)時(shí)性的研究,整個(gè)平臺(tái)具有良好的使用效果和應(yīng)用前景。
- 嵌入式系(13927)
- 建和實(shí)現(xiàn)(5116)
相關(guān)推薦
嵌入式系統(tǒng)
嵌入式系統(tǒng)和實(shí)時(shí)系統(tǒng)開(kāi)發(fā)的關(guān)鍵工藝
嵌入式系統(tǒng)和實(shí)時(shí)系統(tǒng)開(kāi)發(fā)的關(guān)鍵工藝是什么?
嵌入式系統(tǒng)手機(jī)編程開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)什么功能?
嵌入式系統(tǒng)組件的設(shè)計(jì)原則是什么
嵌入式系統(tǒng)開(kāi)發(fā)中操作系統(tǒng)的選型依據(jù)是什么
嵌入式系統(tǒng)開(kāi)發(fā)中的串行和USB接口有何作用
嵌入式系統(tǒng)開(kāi)發(fā)工具有哪些
嵌入式系統(tǒng)開(kāi)發(fā)工程師的職責(zé)是做什么的?
嵌入式系統(tǒng)開(kāi)發(fā)技術(shù)
嵌入式系統(tǒng)開(kāi)發(fā)的基礎(chǔ)知識(shí)
嵌入式系統(tǒng)開(kāi)發(fā)的基礎(chǔ)知識(shí)相關(guān)資料推薦
嵌入式系統(tǒng)開(kāi)發(fā)的特殊要求
嵌入式系統(tǒng)開(kāi)發(fā)的特殊要求
嵌入式系統(tǒng)開(kāi)發(fā)要素的選擇原則是什么
嵌入式系統(tǒng)開(kāi)發(fā):Arm與Linux的完美結(jié)合
嵌入式Linux系統(tǒng)開(kāi)發(fā)
嵌入式Linux系統(tǒng)開(kāi)發(fā)產(chǎn)品分類
嵌入式Linux系統(tǒng)開(kāi)發(fā)學(xué)習(xí)步驟
嵌入式Linux系統(tǒng)開(kāi)發(fā)學(xué)習(xí)步驟
嵌入式Linux系統(tǒng)開(kāi)發(fā)學(xué)習(xí)步驟
嵌入式Linux系統(tǒng)開(kāi)發(fā)學(xué)習(xí)步驟,深圳嵌入式Linux培訓(xùn)高薪一路相伴
嵌入式Linux系統(tǒng)開(kāi)發(fā)技術(shù)詳解--基于ARM(完整版)
嵌入式Linux系統(tǒng)開(kāi)發(fā)教程及案例分析(配套PPT)
嵌入式Linux系統(tǒng)開(kāi)發(fā)的基礎(chǔ)知識(shí)
嵌入式linux系統(tǒng)開(kāi)發(fā)基礎(chǔ)知識(shí)介紹
嵌入式linux系統(tǒng)開(kāi)發(fā)怎樣才能實(shí)現(xiàn)相應(yīng)功能呢
嵌入式技術(shù)具有哪些特性應(yīng)用?
嵌入式視頻教程之嵌入式系統(tǒng)開(kāi)發(fā)對(duì)人才的技能要求
嵌入式視頻教程之嵌入式系統(tǒng)開(kāi)發(fā)對(duì)人才的技能要求
嵌入式開(kāi)發(fā)板開(kāi)發(fā)與SOC系統(tǒng)開(kāi)發(fā)有哪些不同之處呢
ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)從入門到精通
ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)詳解
Linux嵌入式實(shí)時(shí)操作系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)
Pocket-RIO嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái)免費(fèi)試用
Python在實(shí)時(shí)嵌入式系統(tǒng)開(kāi)發(fā)中有何作用
STM32嵌入式系統(tǒng)開(kāi)發(fā)實(shí)戰(zhàn)指南
arm9 s3c2440 嵌入式系統(tǒng)開(kāi)發(fā)
《嵌入式系統(tǒng)開(kāi)發(fā)圣經(jīng)》
《嵌入式LINUX系統(tǒng)開(kāi)發(fā)教程_賀丹丹編》高清pdf下載鏈接
《嵌入式Linux系統(tǒng)開(kāi)發(fā)技術(shù)詳解--基于ARM(完整版)》 電子書免費(fèi)資源分享
《嵌入式Linux系統(tǒng)開(kāi)發(fā)技術(shù)詳解--基于ARM(完整版)》電子版
【OK210申請(qǐng)】嵌入式系統(tǒng)開(kāi)發(fā)
【下載】《構(gòu)建嵌入式LINUX系統(tǒng)(第二版)》
一個(gè)基于Linux2.6.16的嵌入式風(fēng)力發(fā)電監(jiān)控系統(tǒng)開(kāi)發(fā)平臺(tái)構(gòu)建
交叉開(kāi)發(fā)嵌入式系統(tǒng)開(kāi)發(fā)與通用PC系統(tǒng)的開(kāi)發(fā)區(qū)別
什么是嵌入式 如何理解嵌入式系統(tǒng)開(kāi)發(fā)
使用Java平臺(tái)怎么實(shí)現(xiàn)可編程嵌入式系統(tǒng)?
關(guān)于嵌入式系統(tǒng)開(kāi)發(fā)工程師相關(guān)問(wèn)題解答
關(guān)于嵌入式系統(tǒng)開(kāi)發(fā)的一些概念以及對(duì)嵌入式系統(tǒng)開(kāi)發(fā)的初步認(rèn)識(shí)(初學(xué))精選資料分享
關(guān)于嵌入式系統(tǒng)開(kāi)發(fā)項(xiàng)目的選題,求助大神
基于LabView的嵌入式系統(tǒng)開(kāi)發(fā)
基于SPB怎么實(shí)現(xiàn)嵌入式音頻處理系統(tǒng)設(shè)計(jì)?
基于UML嵌入式軟件的指紋門禁系統(tǒng)開(kāi)發(fā)應(yīng)用
如何構(gòu)建嵌入式系統(tǒng)平臺(tái)
如何在嵌入式系統(tǒng)開(kāi)發(fā)板中安裝SSH服務(wù)呢
實(shí)時(shí)仿真和嵌入式系統(tǒng)開(kāi)發(fā)有什么方法?
工業(yè)嵌入式計(jì)算平臺(tái)開(kāi)發(fā)招聘
常見(jiàn)的ARM嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境配置
怎么建立uCLinux嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境?
怎么設(shè)計(jì)開(kāi)源嵌入式操作系統(tǒng)學(xué)習(xí)平臺(tái)?
怎樣挑選一款MCU平臺(tái)進(jìn)行嵌入式系統(tǒng)開(kāi)發(fā)
承接嵌入式系統(tǒng)開(kāi)發(fā)
新型嵌入式系統(tǒng)開(kāi)發(fā)的模式有哪幾種
新手學(xué)習(xí)嵌入式系統(tǒng)開(kāi)發(fā)如何起步
求嵌入式Linux系統(tǒng)開(kāi)發(fā)技術(shù)
求大神詳細(xì)介紹一下FPGA嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程中的XBD文件設(shè)計(jì)
淺談嵌入式系統(tǒng)開(kāi)發(fā)流程
電子書-嵌入式應(yīng)用系統(tǒng)開(kāi)發(fā)典型實(shí)例系列(共三本)
請(qǐng)問(wèn)有沒(méi)有易操作且實(shí)用的嵌入式系統(tǒng)開(kāi)發(fā)技巧?
采用嵌入式系統(tǒng)實(shí)現(xiàn)手機(jī)編程開(kāi)發(fā)平臺(tái)
ARM嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái)產(chǎn)品選型指南

基于PXA270平臺(tái)的嵌入式系統(tǒng)開(kāi)發(fā)


汽車嵌入式系統(tǒng)的OSEK/VDX平臺(tái)實(shí)現(xiàn)


評(píng)論