国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARM9的機(jī)器人項(xiàng)目驅(qū)動(dòng)嵌入式系統(tǒng)平臺(tái)設(shè)計(jì)

2014-11-10 21:26陸建勝
科技資訊 2014年15期
關(guān)鍵詞:嵌入式系統(tǒng)項(xiàng)目驅(qū)動(dòng)設(shè)計(jì)方案

陸建勝

摘 要:隨著嵌入式技術(shù)的發(fā)展,嵌入式系統(tǒng)將更廣泛地應(yīng)用于人類生活的方方面面。本文主要詳細(xì)介紹了機(jī)器人項(xiàng)目驅(qū)動(dòng)的嵌入式系統(tǒng)軟硬件設(shè)計(jì)方案。項(xiàng)目開發(fā)程序是運(yùn)行在硬件評(píng)估板和機(jī)器人小車上,既可用于軟硬件協(xié)同驗(yàn)證也可以用于完成特定的項(xiàng)目。使學(xué)生和開發(fā)人員可以通過實(shí)驗(yàn)程序很快的了解ARM9的各硬件模塊的編程。

關(guān)鍵詞:嵌入式系統(tǒng) ARM9 設(shè)計(jì)方案 項(xiàng)目驅(qū)動(dòng)

中圖分類號(hào):TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)05(c)-0017-03

隨著信息化技術(shù)的發(fā)展,嵌入式系統(tǒng)已經(jīng)成為當(dāng)前IT產(chǎn)業(yè)界一個(gè)非常熱門的話題。因其高可靠性、低成本、高效、豐富的代碼以及應(yīng)用程序可擴(kuò)展性、可移植性等一系列優(yōu)點(diǎn),目前已越來越成為工業(yè)系統(tǒng)和民用系統(tǒng)的主力軍,尤其在信息化產(chǎn)品中,越來越多地應(yīng)用到嵌入式系統(tǒng)的概念。

嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件和嵌入式軟件系統(tǒng)組成,它是集軟硬件于一體的可獨(dú)立工作的“器件”。嵌入式處理器主要由一個(gè)單片機(jī)或微控制器(MCU)組成。相關(guān)支撐硬件包括顯示卡、存儲(chǔ)介質(zhì)(ROM和RAM等)、通訊設(shè)備、IC卡或信用卡的讀取設(shè)備等。嵌入式系統(tǒng)有別于一般的計(jì)算機(jī)處理系統(tǒng),它不具備像硬盤那樣大容量的存儲(chǔ)介質(zhì),而大多使用閃存作為存儲(chǔ)介質(zhì)。嵌入式軟件包括與硬件相關(guān)的底層軟件、操作系統(tǒng)、圖形界面、通訊協(xié)議、數(shù)據(jù)庫(kù)系統(tǒng)、標(biāo)準(zhǔn)化瀏覽器和應(yīng)用軟件等。

總體看來,嵌入式系統(tǒng)具有便利靈活、性能價(jià)格比高、嵌入性強(qiáng)等特點(diǎn),可以嵌入到現(xiàn)有任何信息家電和工業(yè)控制系統(tǒng)中。從軟件角度來看,嵌入式系統(tǒng)具有不可修改性、系統(tǒng)所需配置要求較低、系統(tǒng)專業(yè)性和實(shí)時(shí)性較強(qiáng)等特點(diǎn)。

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

1.1 嵌入式系統(tǒng)的開發(fā)模型

由嵌入式系統(tǒng)的組成可以看出,一個(gè)完整的嵌入式系統(tǒng)的開發(fā)一般分以下幾個(gè)步驟:

(1)硬件平臺(tái)的設(shè)計(jì)。

(2)BSP的開發(fā)和調(diào)試。

(3)嵌入式操作系統(tǒng)的裁剪。

(4)嵌入式操作系統(tǒng)內(nèi)核的配置和編譯。

(5)文件系統(tǒng)的建立。

(6)文件系統(tǒng)的建立。

(7)系統(tǒng)下載和脫機(jī)運(yùn)行。

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

嵌入式系統(tǒng)的開發(fā)通常采用“宿主機(jī)/目標(biāo)機(jī)”方式。首先,利用宿主機(jī)上豐富的資源及良好的開發(fā)環(huán)境開發(fā)和仿真調(diào)試目標(biāo)機(jī)上的軟件。然后通過串行口或網(wǎng)絡(luò)將交叉編譯生成的目標(biāo)代碼傳輸并裝載到目標(biāo)機(jī)上,并用交叉調(diào)試器在監(jiān)控程序或?qū)崟r(shí)內(nèi)核/操作系統(tǒng)的支持下進(jìn)行實(shí)時(shí)分析和調(diào)度。最后,目標(biāo)機(jī)在特定的環(huán)境下運(yùn)行。嵌入式系統(tǒng)開發(fā)流程圖如圖1所示。

2 機(jī)器人項(xiàng)目驅(qū)動(dòng)的嵌入式平臺(tái)

2.1 平臺(tái)概述

最近幾年,在我國(guó)大學(xué),機(jī)器人作為機(jī)械電子學(xué)、計(jì)算機(jī)技術(shù)、人工智能等的典型載體被廣泛地用來作為工科本科生的講授課程之一;在中學(xué),模型機(jī)器人則逐漸成為素質(zhì)教育,技能實(shí)踐的選題之一,各種機(jī)器人比賽正蓬勃發(fā)展。

機(jī)器人技術(shù)大踏步向前發(fā)展,由于成本、功耗、功能的不斷擴(kuò)展、運(yùn)行環(huán)境的不可預(yù)知性等因素起了極大的負(fù)面影響,制約了機(jī)器人技術(shù)的發(fā)展?;谇度胧较到y(tǒng)的機(jī)器人控制器以其功耗低、體積小、集成度高、可靠性強(qiáng)等無可比擬的優(yōu)勢(shì),為機(jī)器人技術(shù)的發(fā)展提供了廣闊的前景。本設(shè)計(jì)平臺(tái)以S3C2440A ARM9應(yīng)用處理器為核心,開發(fā)和設(shè)計(jì)一款開放式的機(jī)器人控制系統(tǒng),它包括機(jī)器人主控系統(tǒng)、機(jī)器人傳感器系統(tǒng)、機(jī)器人執(zhí)行系統(tǒng)、上層編程軟件系統(tǒng),其工作過程如圖2所示。機(jī)器人上層編程軟件系統(tǒng)編寫機(jī)器人的應(yīng)用控制程序,通過仿真器、UART 或USB 把應(yīng)用程序下載到機(jī)器人主控系統(tǒng)中,根據(jù)機(jī)器人傳感器系統(tǒng)采集的數(shù)據(jù)對(duì)機(jī)器人執(zhí)行系統(tǒng)進(jìn)行控制,從而實(shí)現(xiàn)機(jī)器人的執(zhí)行功能。

2.2 機(jī)器人主控器系統(tǒng)

機(jī)器人主控器系統(tǒng)是機(jī)器人控制系統(tǒng)的核心,它有硬件系統(tǒng)和軟件系統(tǒng)兩部分組成。

(1)硬件系統(tǒng)。

機(jī)器人主控系統(tǒng)硬件包括:微處理器、存儲(chǔ)器(FLASH存儲(chǔ)器和SRAM存儲(chǔ)器)、鍵盤電路、LCD液晶顯示電路、I/O驅(qū)動(dòng)電路、電源供電電路等。硬件電路框圖如圖3所示。

(2)軟件系統(tǒng)。

機(jī)器人主控系統(tǒng)軟件包括:系統(tǒng)啟動(dòng)程序、各模塊硬件設(shè)備驅(qū)動(dòng)程序、實(shí)時(shí)操作系統(tǒng)(Real Time Operating System,RTOS)等。

2.3 機(jī)器人傳感器系統(tǒng)

機(jī)器人傳感器系統(tǒng)起到了環(huán)境數(shù)據(jù)采集及處理的作用,它把處理的數(shù)據(jù)傳給機(jī)器人控器系統(tǒng)。它有模擬量傳感器系統(tǒng)和數(shù)字量傳感器系統(tǒng)組成。

(1)模擬量傳感器系統(tǒng)。

模擬量傳感器系統(tǒng)包括:紅外測(cè)距、灰度、接近開關(guān)、溫度傳感器等。

(2)數(shù)字量傳感器系統(tǒng)。

數(shù)字量傳感器系統(tǒng)包括:模擬量傳感器擴(kuò)展模塊、電子羅盤、光電傳感器擴(kuò)展模塊等。其組成包括:MCU、模擬量傳感器、I2C通訊接口等,實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)傳輸?shù)墓δ堋?/p>

2.4 機(jī)器人執(zhí)行系統(tǒng)

機(jī)器人的所有動(dòng)作均由起執(zhí)行系統(tǒng)完成,對(duì)于小型機(jī)器人來說,它的執(zhí)行系統(tǒng)一般由直流電機(jī)驅(qū)動(dòng)機(jī)械傳動(dòng)機(jī)構(gòu)來完成動(dòng)作。本平臺(tái)主要設(shè)計(jì)輪式機(jī)器人的執(zhí)行系統(tǒng),完成前進(jìn)、后退、左轉(zhuǎn)彎、右轉(zhuǎn)彎等基本功能。

機(jī)器人本體設(shè)計(jì)包括傳感器的位置安裝、著地點(diǎn)的位置、重心位置等的設(shè)計(jì);電機(jī)選擇控制精度較高的步進(jìn)電機(jī);輪子驅(qū)動(dòng)采用四輪驅(qū)動(dòng)的方式。

3 硬件設(shè)計(jì)方案

根據(jù)上述描述,Microbot2440的硬件設(shè)計(jì)方案如圖4所示。主要由5個(gè)部分組成:主控器、電源子系統(tǒng)、執(zhí)行子系統(tǒng)、傳感子系統(tǒng)和通信子系統(tǒng)。其中通信子系統(tǒng)用于連接外圍通信模塊,如Zigbee短距離通信模塊等。endprint

其中CPU采用的是Samsung公司的S3C2440A型ARM9處理器。這款處理器為手持設(shè)備和一般類型應(yīng)用提供了低價(jià)格、低功耗、高性能小型微控制器的解決方案。為了降低整體系統(tǒng)成本,S3C2440A提供了一下豐富的內(nèi)部設(shè)備,采用了ARM920T的內(nèi)核,0.13um的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元。其低功耗,簡(jiǎn)單,優(yōu)雅,且全靜態(tài)設(shè)計(jì)特別適合于對(duì)成本和功率敏感型的應(yīng)用。它采用了新的總線架構(gòu)Advanced Micro controller Bus Architecture (AMBA)。

S3C2440A的杰出的特點(diǎn)是其核心處理器(CPU),是一個(gè)由Advanced RISC Machines有限公司設(shè)計(jì)的16/32位ARM920T 的RISC處理器。ARM920T實(shí)現(xiàn)了MMU, AMBA BUS和Harvard高速緩沖體系結(jié)構(gòu)構(gòu)。這一結(jié)構(gòu)具有獨(dú)立的16KB指令Cache 和16KB數(shù)據(jù)Cache。每個(gè)都是由具有8字長(zhǎng)的行組成。通過提供一套完整的通用系統(tǒng)外設(shè),S3C2440A減少整體系統(tǒng)成本和無需配置額外的組件。

4 軟件設(shè)計(jì)方案

軟件設(shè)計(jì)主要由三部分構(gòu)成:交叉開發(fā)工具、板載軟件和項(xiàng)目開發(fā)程序。交叉開發(fā)工具為PC機(jī)軟件,用戶通過ARM Developer Suite(ADS)集成開發(fā)平臺(tái)在PC機(jī)上進(jìn)行嵌入式軟件的開發(fā),然后通過JTAG編程器寫入到硬件評(píng)估板中運(yùn)行。板載軟件即固化在評(píng)估板的Flash存儲(chǔ)器中的程序,包括Bootloader和Linux,有了操作系統(tǒng),開發(fā)人員不需要了解硬件就可以編寫應(yīng)用程序。項(xiàng)目開發(fā)程序是運(yùn)行在硬件評(píng)估板和機(jī)器人小車上,即可用于軟硬件協(xié)同驗(yàn)證也可以用于完成特定的項(xiàng)目。學(xué)生和開發(fā)人員可以通過實(shí)驗(yàn)程序很快的了解ARM9的各硬件模塊的編程。

4.1 交叉開發(fā)工具

交叉開發(fā)工具是提供給用戶在PC機(jī)上開發(fā)ARM9嵌入式軟件的工具,Microbot 2440教學(xué)實(shí)驗(yàn)平臺(tái)為用戶提供了ARM Developer Suite(ADS)集成開發(fā)平臺(tái)和JTAG編程器,可以幫助開發(fā)者進(jìn)行高效的軟件開發(fā)。

(1)ARM Developer Suite(ADS)集成開發(fā)平臺(tái)。

基于ARM的集成軟件開發(fā)平臺(tái)ARM Developer Suite(ADS)集成開發(fā)平臺(tái))對(duì)于工程研發(fā)人員來說是一個(gè)功能強(qiáng)大的開發(fā)工具。在EWARM環(huán)境下可以使用C/C++和匯編語(yǔ)言方便地開發(fā)嵌入式應(yīng)用程序。比較其他的ARM開發(fā)環(huán)境,ADS集成開發(fā)平臺(tái)具有入門容易、使用方便和代碼緊湊等特點(diǎn)。其主要功能包括:

①可編譯生成ARM平臺(tái)的機(jī)器碼。

②工程管理功能。

③代碼編輯功能。

④對(duì)目標(biāo)硬件編程功能。

圖5為ARM Developer Suite(ADS)的模塊圖。以工程管理模塊為核心,負(fù)責(zé)管理一個(gè)用戶工程的源文件、工程設(shè)置等信息,同時(shí)根據(jù)IDE圖形界面的菜單、工具欄、熱鍵事件來進(jìn)行相應(yīng)的操作,例如編譯工程、下載、信息輸出、文件操作等。

(2)JTAG編程器。

Microbot2440教學(xué)實(shí)驗(yàn)平臺(tái)使用的S3C2440也遵循了IEEE 1149.1,在其芯片中設(shè)計(jì)了測(cè)試訪問接口和邊界掃描鏈。利用這一特點(diǎn),設(shè)計(jì)了JTAG編程器,它可以用于對(duì)評(píng)估板上Flash存儲(chǔ)器進(jìn)行編程。編程器由軟硬件兩部分構(gòu)成:PC機(jī)高端軟件和JTAG編程線。JTAG編程線可以使PC機(jī)通過并行口來連接S3C2440A的TAP信號(hào)線,達(dá)到直接控制處理器的邊界掃描鏈,進(jìn)而控制外部總線來對(duì)Flash存儲(chǔ)器編程。

4.2 板載軟件

(1)引導(dǎo)程序。

引導(dǎo)程序是固化在Flash中,在CPU上電啟動(dòng)時(shí)首先執(zhí)行的程序,它負(fù)責(zé)進(jìn)行系統(tǒng)初始化的工作,還可以用來引導(dǎo)其它的程序。Microbot2440教學(xué)實(shí)驗(yàn)平臺(tái)提供了兩個(gè)引導(dǎo)程序:bootFlash和U-Boot。前者負(fù)責(zé)從Flash上電啟動(dòng)后初始化系統(tǒng),后者是一個(gè)二級(jí)引導(dǎo)程序,由bootFlash引導(dǎo),它可以進(jìn)而實(shí)現(xiàn)對(duì)Flash編程、通過以太網(wǎng)下載程序、引導(dǎo)Linux等功能。

(2)ARM Linux 2.4.27.

ARM Linux 2.4.27是標(biāo)準(zhǔn)Linux內(nèi)核的ARM平臺(tái)版,Microbot2440平臺(tái)在提供給用戶之前已經(jīng)將其固化在評(píng)估板的Flash存儲(chǔ)器中。開發(fā)者和學(xué)習(xí)者可以通過它熟悉嵌入式Linux編程,不需要有很高的硬件知識(shí)。開發(fā)人員只需要在操作系統(tǒng)和驅(qū)動(dòng)程序之上開發(fā)應(yīng)用軟件,不需要了解底層硬件的機(jī)制。

5 結(jié)語(yǔ)

后PC時(shí)代是一個(gè)真實(shí)的階段,而且是一個(gè)可以預(yù)測(cè)的時(shí)代。嵌入式系統(tǒng)就是與這一時(shí)代緊密相關(guān)的產(chǎn)物,它將拉近人與計(jì)算機(jī)的距離,形成一個(gè)人機(jī)和諧的工作與生活環(huán)境。從某一個(gè)角度來看,嵌入式系統(tǒng)可應(yīng)用于人類工作與生活的各個(gè)領(lǐng)域,具有極其廣闊的應(yīng)用前景。嵌入式系統(tǒng)在傳統(tǒng)的工業(yè)控制和商業(yè)管理領(lǐng)域已經(jīng)具有廣泛的應(yīng)用空間,如智能工控設(shè)備、POS/ATM機(jī)、IC卡等;在家庭領(lǐng)域更具有廣泛的應(yīng)用潛力,如機(jī)頂盒、數(shù)字電視、WebTV、網(wǎng)絡(luò)冰箱、網(wǎng)絡(luò)空調(diào)等眾多消費(fèi)類和醫(yī)療保健類電子設(shè)備等;此外還有在多媒體手機(jī)、袖珍電腦、掌上電腦、車載導(dǎo)航器等方面應(yīng)用,將極大地推動(dòng)嵌入式技術(shù)深入到生活和工作的方方面面。它在娛樂、軍事方面的應(yīng)用潛力也是巨大的,而且是有目共睹的。面對(duì)全球嵌入式系統(tǒng)工業(yè)化的潮流,適應(yīng)我國(guó)加速知識(shí)創(chuàng)新和建立面向21世紀(jì)知識(shí)經(jīng)濟(jì)的需要,必須加強(qiáng)高等院校嵌入式系統(tǒng)的教學(xué),培養(yǎng)高層次、實(shí)用型、復(fù)合型、國(guó)際化的嵌入式系統(tǒng)應(yīng)用人才,使我國(guó)嵌入式系統(tǒng)應(yīng)用水平獲得跨越式發(fā)展。

參考文獻(xiàn)

[1] 李善平,劉文峰,王煥龍,等.Linux與嵌入式系統(tǒng)[M].清華大學(xué)出版社,2002:133-135,146-153.

[2] 呂京建,肖海橋.ICI向二十一世紀(jì)的嵌入式系統(tǒng)綜述[EB/OL].http://www.bol-system.com/.

[3] 常薇,張明武.硬件與電子技術(shù)課程網(wǎng)上虛擬實(shí)驗(yàn)教學(xué)模式研究[J].中山大學(xué)學(xué)報(bào)論叢,2005(3):80-82.

[4] 王仁之,王雷,等.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)[M].北京:北京航空航天大學(xué)出版社.

[5] 慕春棣,主編.嵌入式系統(tǒng)的構(gòu)建[M].清華大學(xué)出版社,2004.

[6] 陳莉君.深入分析Linux內(nèi)核源代碼[M].人民郵電出版社,2002.endprint

其中CPU采用的是Samsung公司的S3C2440A型ARM9處理器。這款處理器為手持設(shè)備和一般類型應(yīng)用提供了低價(jià)格、低功耗、高性能小型微控制器的解決方案。為了降低整體系統(tǒng)成本,S3C2440A提供了一下豐富的內(nèi)部設(shè)備,采用了ARM920T的內(nèi)核,0.13um的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元。其低功耗,簡(jiǎn)單,優(yōu)雅,且全靜態(tài)設(shè)計(jì)特別適合于對(duì)成本和功率敏感型的應(yīng)用。它采用了新的總線架構(gòu)Advanced Micro controller Bus Architecture (AMBA)。

S3C2440A的杰出的特點(diǎn)是其核心處理器(CPU),是一個(gè)由Advanced RISC Machines有限公司設(shè)計(jì)的16/32位ARM920T 的RISC處理器。ARM920T實(shí)現(xiàn)了MMU, AMBA BUS和Harvard高速緩沖體系結(jié)構(gòu)構(gòu)。這一結(jié)構(gòu)具有獨(dú)立的16KB指令Cache 和16KB數(shù)據(jù)Cache。每個(gè)都是由具有8字長(zhǎng)的行組成。通過提供一套完整的通用系統(tǒng)外設(shè),S3C2440A減少整體系統(tǒng)成本和無需配置額外的組件。

4 軟件設(shè)計(jì)方案

軟件設(shè)計(jì)主要由三部分構(gòu)成:交叉開發(fā)工具、板載軟件和項(xiàng)目開發(fā)程序。交叉開發(fā)工具為PC機(jī)軟件,用戶通過ARM Developer Suite(ADS)集成開發(fā)平臺(tái)在PC機(jī)上進(jìn)行嵌入式軟件的開發(fā),然后通過JTAG編程器寫入到硬件評(píng)估板中運(yùn)行。板載軟件即固化在評(píng)估板的Flash存儲(chǔ)器中的程序,包括Bootloader和Linux,有了操作系統(tǒng),開發(fā)人員不需要了解硬件就可以編寫應(yīng)用程序。項(xiàng)目開發(fā)程序是運(yùn)行在硬件評(píng)估板和機(jī)器人小車上,即可用于軟硬件協(xié)同驗(yàn)證也可以用于完成特定的項(xiàng)目。學(xué)生和開發(fā)人員可以通過實(shí)驗(yàn)程序很快的了解ARM9的各硬件模塊的編程。

4.1 交叉開發(fā)工具

交叉開發(fā)工具是提供給用戶在PC機(jī)上開發(fā)ARM9嵌入式軟件的工具,Microbot 2440教學(xué)實(shí)驗(yàn)平臺(tái)為用戶提供了ARM Developer Suite(ADS)集成開發(fā)平臺(tái)和JTAG編程器,可以幫助開發(fā)者進(jìn)行高效的軟件開發(fā)。

(1)ARM Developer Suite(ADS)集成開發(fā)平臺(tái)。

基于ARM的集成軟件開發(fā)平臺(tái)ARM Developer Suite(ADS)集成開發(fā)平臺(tái))對(duì)于工程研發(fā)人員來說是一個(gè)功能強(qiáng)大的開發(fā)工具。在EWARM環(huán)境下可以使用C/C++和匯編語(yǔ)言方便地開發(fā)嵌入式應(yīng)用程序。比較其他的ARM開發(fā)環(huán)境,ADS集成開發(fā)平臺(tái)具有入門容易、使用方便和代碼緊湊等特點(diǎn)。其主要功能包括:

①可編譯生成ARM平臺(tái)的機(jī)器碼。

②工程管理功能。

③代碼編輯功能。

④對(duì)目標(biāo)硬件編程功能。

圖5為ARM Developer Suite(ADS)的模塊圖。以工程管理模塊為核心,負(fù)責(zé)管理一個(gè)用戶工程的源文件、工程設(shè)置等信息,同時(shí)根據(jù)IDE圖形界面的菜單、工具欄、熱鍵事件來進(jìn)行相應(yīng)的操作,例如編譯工程、下載、信息輸出、文件操作等。

(2)JTAG編程器。

Microbot2440教學(xué)實(shí)驗(yàn)平臺(tái)使用的S3C2440也遵循了IEEE 1149.1,在其芯片中設(shè)計(jì)了測(cè)試訪問接口和邊界掃描鏈。利用這一特點(diǎn),設(shè)計(jì)了JTAG編程器,它可以用于對(duì)評(píng)估板上Flash存儲(chǔ)器進(jìn)行編程。編程器由軟硬件兩部分構(gòu)成:PC機(jī)高端軟件和JTAG編程線。JTAG編程線可以使PC機(jī)通過并行口來連接S3C2440A的TAP信號(hào)線,達(dá)到直接控制處理器的邊界掃描鏈,進(jìn)而控制外部總線來對(duì)Flash存儲(chǔ)器編程。

4.2 板載軟件

(1)引導(dǎo)程序。

引導(dǎo)程序是固化在Flash中,在CPU上電啟動(dòng)時(shí)首先執(zhí)行的程序,它負(fù)責(zé)進(jìn)行系統(tǒng)初始化的工作,還可以用來引導(dǎo)其它的程序。Microbot2440教學(xué)實(shí)驗(yàn)平臺(tái)提供了兩個(gè)引導(dǎo)程序:bootFlash和U-Boot。前者負(fù)責(zé)從Flash上電啟動(dòng)后初始化系統(tǒng),后者是一個(gè)二級(jí)引導(dǎo)程序,由bootFlash引導(dǎo),它可以進(jìn)而實(shí)現(xiàn)對(duì)Flash編程、通過以太網(wǎng)下載程序、引導(dǎo)Linux等功能。

(2)ARM Linux 2.4.27.

ARM Linux 2.4.27是標(biāo)準(zhǔn)Linux內(nèi)核的ARM平臺(tái)版,Microbot2440平臺(tái)在提供給用戶之前已經(jīng)將其固化在評(píng)估板的Flash存儲(chǔ)器中。開發(fā)者和學(xué)習(xí)者可以通過它熟悉嵌入式Linux編程,不需要有很高的硬件知識(shí)。開發(fā)人員只需要在操作系統(tǒng)和驅(qū)動(dòng)程序之上開發(fā)應(yīng)用軟件,不需要了解底層硬件的機(jī)制。

5 結(jié)語(yǔ)

后PC時(shí)代是一個(gè)真實(shí)的階段,而且是一個(gè)可以預(yù)測(cè)的時(shí)代。嵌入式系統(tǒng)就是與這一時(shí)代緊密相關(guān)的產(chǎn)物,它將拉近人與計(jì)算機(jī)的距離,形成一個(gè)人機(jī)和諧的工作與生活環(huán)境。從某一個(gè)角度來看,嵌入式系統(tǒng)可應(yīng)用于人類工作與生活的各個(gè)領(lǐng)域,具有極其廣闊的應(yīng)用前景。嵌入式系統(tǒng)在傳統(tǒng)的工業(yè)控制和商業(yè)管理領(lǐng)域已經(jīng)具有廣泛的應(yīng)用空間,如智能工控設(shè)備、POS/ATM機(jī)、IC卡等;在家庭領(lǐng)域更具有廣泛的應(yīng)用潛力,如機(jī)頂盒、數(shù)字電視、WebTV、網(wǎng)絡(luò)冰箱、網(wǎng)絡(luò)空調(diào)等眾多消費(fèi)類和醫(yī)療保健類電子設(shè)備等;此外還有在多媒體手機(jī)、袖珍電腦、掌上電腦、車載導(dǎo)航器等方面應(yīng)用,將極大地推動(dòng)嵌入式技術(shù)深入到生活和工作的方方面面。它在娛樂、軍事方面的應(yīng)用潛力也是巨大的,而且是有目共睹的。面對(duì)全球嵌入式系統(tǒng)工業(yè)化的潮流,適應(yīng)我國(guó)加速知識(shí)創(chuàng)新和建立面向21世紀(jì)知識(shí)經(jīng)濟(jì)的需要,必須加強(qiáng)高等院校嵌入式系統(tǒng)的教學(xué),培養(yǎng)高層次、實(shí)用型、復(fù)合型、國(guó)際化的嵌入式系統(tǒng)應(yīng)用人才,使我國(guó)嵌入式系統(tǒng)應(yīng)用水平獲得跨越式發(fā)展。

參考文獻(xiàn)

[1] 李善平,劉文峰,王煥龍,等.Linux與嵌入式系統(tǒng)[M].清華大學(xué)出版社,2002:133-135,146-153.

[2] 呂京建,肖海橋.ICI向二十一世紀(jì)的嵌入式系統(tǒng)綜述[EB/OL].http://www.bol-system.com/.

[3] 常薇,張明武.硬件與電子技術(shù)課程網(wǎng)上虛擬實(shí)驗(yàn)教學(xué)模式研究[J].中山大學(xué)學(xué)報(bào)論叢,2005(3):80-82.

[4] 王仁之,王雷,等.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)[M].北京:北京航空航天大學(xué)出版社.

[5] 慕春棣,主編.嵌入式系統(tǒng)的構(gòu)建[M].清華大學(xué)出版社,2004.

[6] 陳莉君.深入分析Linux內(nèi)核源代碼[M].人民郵電出版社,2002.endprint

其中CPU采用的是Samsung公司的S3C2440A型ARM9處理器。這款處理器為手持設(shè)備和一般類型應(yīng)用提供了低價(jià)格、低功耗、高性能小型微控制器的解決方案。為了降低整體系統(tǒng)成本,S3C2440A提供了一下豐富的內(nèi)部設(shè)備,采用了ARM920T的內(nèi)核,0.13um的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元。其低功耗,簡(jiǎn)單,優(yōu)雅,且全靜態(tài)設(shè)計(jì)特別適合于對(duì)成本和功率敏感型的應(yīng)用。它采用了新的總線架構(gòu)Advanced Micro controller Bus Architecture (AMBA)。

S3C2440A的杰出的特點(diǎn)是其核心處理器(CPU),是一個(gè)由Advanced RISC Machines有限公司設(shè)計(jì)的16/32位ARM920T 的RISC處理器。ARM920T實(shí)現(xiàn)了MMU, AMBA BUS和Harvard高速緩沖體系結(jié)構(gòu)構(gòu)。這一結(jié)構(gòu)具有獨(dú)立的16KB指令Cache 和16KB數(shù)據(jù)Cache。每個(gè)都是由具有8字長(zhǎng)的行組成。通過提供一套完整的通用系統(tǒng)外設(shè),S3C2440A減少整體系統(tǒng)成本和無需配置額外的組件。

4 軟件設(shè)計(jì)方案

軟件設(shè)計(jì)主要由三部分構(gòu)成:交叉開發(fā)工具、板載軟件和項(xiàng)目開發(fā)程序。交叉開發(fā)工具為PC機(jī)軟件,用戶通過ARM Developer Suite(ADS)集成開發(fā)平臺(tái)在PC機(jī)上進(jìn)行嵌入式軟件的開發(fā),然后通過JTAG編程器寫入到硬件評(píng)估板中運(yùn)行。板載軟件即固化在評(píng)估板的Flash存儲(chǔ)器中的程序,包括Bootloader和Linux,有了操作系統(tǒng),開發(fā)人員不需要了解硬件就可以編寫應(yīng)用程序。項(xiàng)目開發(fā)程序是運(yùn)行在硬件評(píng)估板和機(jī)器人小車上,即可用于軟硬件協(xié)同驗(yàn)證也可以用于完成特定的項(xiàng)目。學(xué)生和開發(fā)人員可以通過實(shí)驗(yàn)程序很快的了解ARM9的各硬件模塊的編程。

4.1 交叉開發(fā)工具

交叉開發(fā)工具是提供給用戶在PC機(jī)上開發(fā)ARM9嵌入式軟件的工具,Microbot 2440教學(xué)實(shí)驗(yàn)平臺(tái)為用戶提供了ARM Developer Suite(ADS)集成開發(fā)平臺(tái)和JTAG編程器,可以幫助開發(fā)者進(jìn)行高效的軟件開發(fā)。

(1)ARM Developer Suite(ADS)集成開發(fā)平臺(tái)。

基于ARM的集成軟件開發(fā)平臺(tái)ARM Developer Suite(ADS)集成開發(fā)平臺(tái))對(duì)于工程研發(fā)人員來說是一個(gè)功能強(qiáng)大的開發(fā)工具。在EWARM環(huán)境下可以使用C/C++和匯編語(yǔ)言方便地開發(fā)嵌入式應(yīng)用程序。比較其他的ARM開發(fā)環(huán)境,ADS集成開發(fā)平臺(tái)具有入門容易、使用方便和代碼緊湊等特點(diǎn)。其主要功能包括:

①可編譯生成ARM平臺(tái)的機(jī)器碼。

②工程管理功能。

③代碼編輯功能。

④對(duì)目標(biāo)硬件編程功能。

圖5為ARM Developer Suite(ADS)的模塊圖。以工程管理模塊為核心,負(fù)責(zé)管理一個(gè)用戶工程的源文件、工程設(shè)置等信息,同時(shí)根據(jù)IDE圖形界面的菜單、工具欄、熱鍵事件來進(jìn)行相應(yīng)的操作,例如編譯工程、下載、信息輸出、文件操作等。

(2)JTAG編程器。

Microbot2440教學(xué)實(shí)驗(yàn)平臺(tái)使用的S3C2440也遵循了IEEE 1149.1,在其芯片中設(shè)計(jì)了測(cè)試訪問接口和邊界掃描鏈。利用這一特點(diǎn),設(shè)計(jì)了JTAG編程器,它可以用于對(duì)評(píng)估板上Flash存儲(chǔ)器進(jìn)行編程。編程器由軟硬件兩部分構(gòu)成:PC機(jī)高端軟件和JTAG編程線。JTAG編程線可以使PC機(jī)通過并行口來連接S3C2440A的TAP信號(hào)線,達(dá)到直接控制處理器的邊界掃描鏈,進(jìn)而控制外部總線來對(duì)Flash存儲(chǔ)器編程。

4.2 板載軟件

(1)引導(dǎo)程序。

引導(dǎo)程序是固化在Flash中,在CPU上電啟動(dòng)時(shí)首先執(zhí)行的程序,它負(fù)責(zé)進(jìn)行系統(tǒng)初始化的工作,還可以用來引導(dǎo)其它的程序。Microbot2440教學(xué)實(shí)驗(yàn)平臺(tái)提供了兩個(gè)引導(dǎo)程序:bootFlash和U-Boot。前者負(fù)責(zé)從Flash上電啟動(dòng)后初始化系統(tǒng),后者是一個(gè)二級(jí)引導(dǎo)程序,由bootFlash引導(dǎo),它可以進(jìn)而實(shí)現(xiàn)對(duì)Flash編程、通過以太網(wǎng)下載程序、引導(dǎo)Linux等功能。

(2)ARM Linux 2.4.27.

ARM Linux 2.4.27是標(biāo)準(zhǔn)Linux內(nèi)核的ARM平臺(tái)版,Microbot2440平臺(tái)在提供給用戶之前已經(jīng)將其固化在評(píng)估板的Flash存儲(chǔ)器中。開發(fā)者和學(xué)習(xí)者可以通過它熟悉嵌入式Linux編程,不需要有很高的硬件知識(shí)。開發(fā)人員只需要在操作系統(tǒng)和驅(qū)動(dòng)程序之上開發(fā)應(yīng)用軟件,不需要了解底層硬件的機(jī)制。

5 結(jié)語(yǔ)

后PC時(shí)代是一個(gè)真實(shí)的階段,而且是一個(gè)可以預(yù)測(cè)的時(shí)代。嵌入式系統(tǒng)就是與這一時(shí)代緊密相關(guān)的產(chǎn)物,它將拉近人與計(jì)算機(jī)的距離,形成一個(gè)人機(jī)和諧的工作與生活環(huán)境。從某一個(gè)角度來看,嵌入式系統(tǒng)可應(yīng)用于人類工作與生活的各個(gè)領(lǐng)域,具有極其廣闊的應(yīng)用前景。嵌入式系統(tǒng)在傳統(tǒng)的工業(yè)控制和商業(yè)管理領(lǐng)域已經(jīng)具有廣泛的應(yīng)用空間,如智能工控設(shè)備、POS/ATM機(jī)、IC卡等;在家庭領(lǐng)域更具有廣泛的應(yīng)用潛力,如機(jī)頂盒、數(shù)字電視、WebTV、網(wǎng)絡(luò)冰箱、網(wǎng)絡(luò)空調(diào)等眾多消費(fèi)類和醫(yī)療保健類電子設(shè)備等;此外還有在多媒體手機(jī)、袖珍電腦、掌上電腦、車載導(dǎo)航器等方面應(yīng)用,將極大地推動(dòng)嵌入式技術(shù)深入到生活和工作的方方面面。它在娛樂、軍事方面的應(yīng)用潛力也是巨大的,而且是有目共睹的。面對(duì)全球嵌入式系統(tǒng)工業(yè)化的潮流,適應(yīng)我國(guó)加速知識(shí)創(chuàng)新和建立面向21世紀(jì)知識(shí)經(jīng)濟(jì)的需要,必須加強(qiáng)高等院校嵌入式系統(tǒng)的教學(xué),培養(yǎng)高層次、實(shí)用型、復(fù)合型、國(guó)際化的嵌入式系統(tǒng)應(yīng)用人才,使我國(guó)嵌入式系統(tǒng)應(yīng)用水平獲得跨越式發(fā)展。

參考文獻(xiàn)

[1] 李善平,劉文峰,王煥龍,等.Linux與嵌入式系統(tǒng)[M].清華大學(xué)出版社,2002:133-135,146-153.

[2] 呂京建,肖海橋.ICI向二十一世紀(jì)的嵌入式系統(tǒng)綜述[EB/OL].http://www.bol-system.com/.

[3] 常薇,張明武.硬件與電子技術(shù)課程網(wǎng)上虛擬實(shí)驗(yàn)教學(xué)模式研究[J].中山大學(xué)學(xué)報(bào)論叢,2005(3):80-82.

[4] 王仁之,王雷,等.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)[M].北京:北京航空航天大學(xué)出版社.

[5] 慕春棣,主編.嵌入式系統(tǒng)的構(gòu)建[M].清華大學(xué)出版社,2004.

[6] 陳莉君.深入分析Linux內(nèi)核源代碼[M].人民郵電出版社,2002.endprint

猜你喜歡
嵌入式系統(tǒng)項(xiàng)目驅(qū)動(dòng)設(shè)計(jì)方案
基于可持續(xù)理念舊建筑改造設(shè)計(jì)方案探討
數(shù)據(jù)中心ECC設(shè)計(jì)方案研究
依托工作室的軟件工程實(shí)踐教學(xué)研究
基于物聯(lián)網(wǎng)項(xiàng)目驅(qū)動(dòng)的嵌入式系統(tǒng)教學(xué)改革的研究與實(shí)踐
基于“紅色之旅”項(xiàng)目驅(qū)動(dòng)的《調(diào)酒與咖啡》工作室制人才培養(yǎng)機(jī)制探討
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
試論基于項(xiàng)目驅(qū)動(dòng)的機(jī)械制圖教學(xué)改革
高壓電力系統(tǒng)規(guī)劃設(shè)計(jì)方案探討
某輕卡線束設(shè)計(jì)方案