摘 要: 本文從軟硬件兩方面介紹了構(gòu)建嵌入式系統(tǒng)開發(fā)平臺(tái)的基本思路,并給出了一套實(shí)現(xiàn)方案。該平臺(tái)硬件部分低成本、擴(kuò)展性強(qiáng)、升級(jí)方便;軟件部分功能豐富,操作系統(tǒng)內(nèi)核基于開放源代碼的mClinux系統(tǒng),成熟穩(wěn)定,GUI支持中文。
我們從硬件/軟件協(xié)同設(shè)計(jì)的角度出發(fā),構(gòu)建和實(shí)現(xiàn)了一套基于Linux系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái),包括硬件設(shè)計(jì)平臺(tá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ù)開發(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)試。在我們的開發(fā)板上,只要驅(qū)動(dòng)EZ328的EMUBRK引腳為低電平并執(zhí)行系統(tǒng)復(fù)位,就可使EZ328進(jìn)入引導(dǎo)模式,其內(nèi)建的引導(dǎo)程序就會(huì)開始運(yùn)行,初始化芯片上集成的UART控制器并準(zhǔn)備接收數(shù)據(jù)。這樣開發(fā)者就可以通過(guò)UART控制器寫寄存器來(lái)初始化開發(fā)板,然后下載程序到開發(fā)板的RAM和FLASH中運(yùn)行調(diào)試。同時(shí),硬件平臺(tái)CPU可方便地升級(jí)到VZ328(主頻33MHz,EZ328的后續(xù)產(chǎn)品)。而且,在EZ328硬件平臺(tá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 軟件開發(fā)環(huán)境
軟件開發(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)的。它是專門面向沒有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。在我們的開發(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 等字符集的支持,中文輸入法等等。在其上又開發(fā)了基于FLTK的嵌入式GUI圖形包,提供了比較完善的圖形功能,如對(duì)菜單、按鈕、滾動(dòng)條等多種GUI控件的支持。
采用這種圖形包,我們已開發(fā)出大小僅1MB的嵌入式中文Web瀏覽器,并且正在集成清華文通的中文手寫輸入軟件。
交叉編譯調(diào)試工具采用通用的Linux開發(fā)套件—GNU開發(fā)套件,包括了一系列的開發(fā)調(diào)試工具。主要組件有:
● Gcc—編譯器,可以做成交叉編譯的形式,即在宿主機(jī)上開發(fā)編譯目標(biāo)板上可運(yùn)行的二進(jìn)制文件。
● Binutils—輔助工具,包括objdump(可以反編譯二進(jìn)制文件),as(匯編編譯器),ld(連接器)等等。
● Gdb—調(diào)試器,可使用多種交叉調(diào)試方式,包括使用串口和以太網(wǎng)調(diào)試。
開發(fā)環(huán)境
本嵌入式系統(tǒng)開發(fā)平臺(tái)的GNU開發(fā)套件運(yùn)行于桌面Linux操作系統(tǒng)。開發(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),開發(fā)者可以使用NFS文件系統(tǒng)安裝上宿主機(jī)的硬盤,這樣目標(biāo)板就可以通過(guò)以太網(wǎng)對(duì)宿主機(jī)的硬盤直接進(jìn)行操作,不需下載即可調(diào)試程序;若Linux內(nèi)核啟動(dòng)了遠(yuǎn)程登錄服務(wù),開發(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)有的這套開發(fā)平臺(tái)上,我們已經(jīng)為有關(guān)單位完成了電子書(Ebook)項(xiàng)目的研制,同時(shí)開展了嵌入式操作系統(tǒng)實(shí)時(shí)性的研究,整個(gè)平臺(tái)具有良好的使用效果和應(yīng)用前景。
- 嵌入式系(14247)
- 建和實(shí)現(xiàn)(5210)
使用xmake+zig更優(yōu)雅的進(jìn)行嵌入式系統(tǒng)開發(fā)
4204
嵌入式系統(tǒng)和實(shí)時(shí)系統(tǒng)開發(fā)的關(guān)鍵工藝
嵌入式系統(tǒng)和實(shí)時(shí)系統(tǒng)開發(fā)的關(guān)鍵工藝是什么?
嵌入式系統(tǒng)手機(jī)編程開發(fā)平臺(tái)實(shí)現(xiàn)什么功能?
嵌入式系統(tǒng)組件的設(shè)計(jì)原則是什么
嵌入式系統(tǒng)開發(fā)中操作系統(tǒng)的選型依據(jù)是什么
嵌入式系統(tǒng)開發(fā)中的串行和USB接口有何作用
嵌入式系統(tǒng)開發(fā)工具有哪些
嵌入式系統(tǒng)開發(fā)技術(shù)
嵌入式系統(tǒng)開發(fā)的基礎(chǔ)知識(shí)
嵌入式系統(tǒng)開發(fā)的特殊要求
嵌入式系統(tǒng)開發(fā)的特殊要求
嵌入式系統(tǒng)開發(fā)要素的選擇原則是什么
嵌入式Linux系統(tǒng)開發(fā)學(xué)習(xí)步驟
嵌入式Linux系統(tǒng)開發(fā)學(xué)習(xí)步驟
嵌入式Linux系統(tǒng)開發(fā)學(xué)習(xí)步驟
嵌入式視頻教程之嵌入式系統(tǒng)開發(fā)對(duì)人才的技能要求
嵌入式視頻教程之嵌入式系統(tǒng)開發(fā)對(duì)人才的技能要求
嵌入式開發(fā)板開發(fā)與SOC系統(tǒng)開發(fā)有哪些不同之處呢
ARM嵌入式Linux系統(tǒng)開發(fā)從入門到精通
ARM嵌入式Linux系統(tǒng)開發(fā)詳解
Pocket-RIO嵌入式系統(tǒng)開發(fā)平臺(tái)免費(fèi)試用
Python在實(shí)時(shí)嵌入式系統(tǒng)開發(fā)中有何作用
《嵌入式系統(tǒng)開發(fā)圣經(jīng)》
《嵌入式Linux系統(tǒng)開發(fā)技術(shù)詳解--基于ARM(完整版)》 電子書免費(fèi)資源分享
《嵌入式Linux系統(tǒng)開發(fā)技術(shù)詳解--基于ARM(完整版)》電子版
一個(gè)基于Linux2.6.16的嵌入式風(fēng)力發(fā)電監(jiān)控系統(tǒng)開發(fā)平臺(tái)構(gòu)建
關(guān)于嵌入式系統(tǒng)開發(fā)的一些概念以及對(duì)嵌入式系統(tǒng)開發(fā)的初步認(rèn)識(shí)(初學(xué))精選資料分享
基于LabView的嵌入式系統(tǒng)開發(fā)
基于SPB怎么實(shí)現(xiàn)嵌入式音頻處理系統(tǒng)設(shè)計(jì)?
基于UML嵌入式軟件的指紋門禁系統(tǒng)開發(fā)應(yīng)用
如何構(gòu)建嵌入式系統(tǒng)平臺(tái)
如何在嵌入式系統(tǒng)開發(fā)板中安裝SSH服務(wù)呢
實(shí)時(shí)仿真和嵌入式系統(tǒng)開發(fā)有什么方法?
怎么建立uCLinux嵌入式系統(tǒng)開發(fā)環(huán)境?
怎么設(shè)計(jì)開源嵌入式操作系統(tǒng)學(xué)習(xí)平臺(tái)?
怎樣挑選一款MCU平臺(tái)進(jìn)行嵌入式系統(tǒng)開發(fā)
承接嵌入式系統(tǒng)開發(fā)
新手學(xué)習(xí)嵌入式系統(tǒng)開發(fā)如何起步
求嵌入式Linux系統(tǒng)開發(fā)技術(shù)
請(qǐng)問有沒有易操作且實(shí)用的嵌入式系統(tǒng)開發(fā)技巧?
采用嵌入式系統(tǒng)實(shí)現(xiàn)手機(jī)編程開發(fā)平臺(tái)
嵌入式Linux系統(tǒng)開發(fā)基礎(chǔ)
68嵌入式系統(tǒng)開發(fā)圣經(jīng)
48ARM嵌入式系統(tǒng)開發(fā)-軟件設(shè)計(jì)與優(yōu)化
94嵌入式系統(tǒng)開發(fā)之ucos在各種硬件上的GUI實(shí)現(xiàn)
79ARM嵌入式系統(tǒng)開發(fā)平臺(tái)產(chǎn)品選型指南
91Linux嵌入式系統(tǒng)開發(fā)平臺(tái)選型探討
1075
基于嵌入式Linux的風(fēng)力發(fā)電監(jiān)控系統(tǒng)開發(fā)平臺(tái)的構(gòu)建
630
嵌入式系統(tǒng)開發(fā)之中斷控制的實(shí)現(xiàn)
1059Clarinox嵌入式系統(tǒng)開發(fā)平臺(tái)
22基于PXA270平臺(tái)的嵌入式系統(tǒng)開發(fā)
2072
嵌入式系統(tǒng)開發(fā)平臺(tái)增加USB下載接口
53汽車嵌入式系統(tǒng)的OSEK/VDX平臺(tái)實(shí)現(xiàn)
3864
嵌入式系統(tǒng)開發(fā)的幾點(diǎn)思考
29嵌入式系統(tǒng)開發(fā)面臨的問題總結(jié)
54嵌入式系統(tǒng)開發(fā)要素的選擇分析
41ARM嵌入式Linux系統(tǒng)開發(fā)(完整版)
0嵌入式系統(tǒng)開發(fā)圣經(jīng)
5ARM嵌入式Linux系統(tǒng)開發(fā)詳解PPT
2DSP嵌入式系統(tǒng)開發(fā)典型案例,第9章 Viterbi譯碼及其實(shí)現(xiàn)
4面向?qū)ο?b class="flag-6" style="color: red">嵌入式系統(tǒng)開發(fā)技術(shù)
15嵌入式系統(tǒng)開發(fā)學(xué)習(xí)心得體會(huì)_經(jīng)驗(yàn)總結(jié)
32433構(gòu)建和優(yōu)化嵌入式和物聯(lián)網(wǎng)應(yīng)用程序
2313關(guān)于嵌入式系統(tǒng)開發(fā)必備的基礎(chǔ)知識(shí)
3177嵌入式系統(tǒng)開發(fā)技術(shù)指南
3768嵌入式系統(tǒng)開發(fā)大作業(yè)
12Linux+嵌入式實(shí)時(shí)操作系統(tǒng)開發(fā)與應(yīng)用
23ARM嵌入式系統(tǒng)開發(fā)_Android應(yīng)用開發(fā)入門(基礎(chǔ)版)
0(網(wǎng)盤)ARM嵌入式Linux系統(tǒng)開發(fā)詳解
76嵌入式系統(tǒng)開發(fā)流程
9嵌入式系統(tǒng)開發(fā)中,如何選擇適合的MCU平臺(tái)?
5嵌入式系統(tǒng)設(shè)計(jì)--課堂總結(jié)(嵌入式Linux系統(tǒng)開發(fā))
21嵌入式系統(tǒng)開發(fā)設(shè)計(jì)
20嵌入式系統(tǒng)開發(fā)環(huán)境的構(gòu)建03:構(gòu)建VS Code集成開發(fā)環(huán)境
13嵌入式系統(tǒng)開發(fā)概述
19ARM嵌入式Linux系統(tǒng)開發(fā)詳解
4嵌入式系統(tǒng)開發(fā)中的靜態(tài)分析
2215嵌入式系統(tǒng)開發(fā)三大核心技術(shù)
3904基于網(wǎng)絡(luò)的嵌入式監(jiān)控系統(tǒng)開發(fā)
0基于模型的設(shè)計(jì)嵌入式電機(jī)控制系統(tǒng)開發(fā)
0嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決
1600
電子發(fā)燒友App


評(píng)論