武俊鵬 孫建國(guó) 龍小潔
文章編號(hào):1672-5913(2009)08-0090-03
摘要:近年來(lái),隨著軟硬件資源的成熟與完善,嵌入式實(shí)時(shí)系統(tǒng)在越來(lái)越多的領(lǐng)域內(nèi)得到了廣泛的應(yīng)用,各種相關(guān)的嵌入式產(chǎn)品紛紛涌現(xiàn),嵌入式系統(tǒng)越來(lái)越引起人們的重視。在教學(xué)領(lǐng)域,嵌入式實(shí)驗(yàn)教學(xué)也將成為高校重要的教學(xué)實(shí)踐之一。本文結(jié)合作者的開(kāi)發(fā)實(shí)踐,簡(jiǎn)要講解了基于ARM7 Linux開(kāi)發(fā)板——以S3C4510B為CPU芯片的開(kāi)發(fā)過(guò)程。
關(guān)鍵詞:ARM;嵌入式系統(tǒng);嵌入式操作系統(tǒng)(EOS)
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:A
1簡(jiǎn)介
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁減,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。它一般有嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個(gè)組成部分,用于實(shí)現(xiàn)對(duì)其設(shè)備的控制、監(jiān)視和管理等功能。
ARM嵌入式處理器是一種高性能,低功耗的RISC芯片。它由英國(guó)ARM公司設(shè)計(jì),世界上幾乎所有的主要半導(dǎo)體廠商都生產(chǎn)基于ARM體系結(jié)構(gòu)的通用芯片或在其專用芯片中嵌入ARM相關(guān)技術(shù)。它以體積小,低功耗,低成本,高性能的特點(diǎn)贏得了75%以上的32位RISC嵌入式產(chǎn)品市場(chǎng)。目前ARM芯片廣泛應(yīng)用于無(wú)線產(chǎn)品,PDA,GPS,網(wǎng)絡(luò),消費(fèi)電子產(chǎn)品,STB及智能卡。市場(chǎng)對(duì)相關(guān)人才的迫切需求,使得把握關(guān)鍵和核心的嵌入式系統(tǒng)設(shè)計(jì)技術(shù)成為高等院校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)人才培養(yǎng)的關(guān)鍵,因此,基于ARM的嵌入式實(shí)驗(yàn)教學(xué)的研究和實(shí)踐就成為計(jì)算機(jī)專業(yè)實(shí)驗(yàn)教學(xué)的重點(diǎn)之一。
1.1嵌入式系統(tǒng)的組成
嵌入式系統(tǒng)通常由嵌入式處理器、嵌入式外圍設(shè)備、嵌入式操作系統(tǒng)和嵌入式應(yīng)用軟件等幾大部分組成。
1.2關(guān)于ARM嵌入式技術(shù)
ARM(Advanced RISC Machines),既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對(duì)一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。采用RISC架構(gòu)的ARM微處
理器一般具有以下特點(diǎn):體積小、功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8/16位器件;大量使用寄存器,指令執(zhí)行速度更快;大多數(shù)數(shù)據(jù)操作都在寄存器中完成;尋址方式簡(jiǎn)單靈活,執(zhí)行效率高;指令長(zhǎng)度固定。
本次開(kāi)發(fā)用到的ARM Linux Board包含Samsung Electronics的S3C4510B網(wǎng)絡(luò)處理器,工作頻率為50MHz; 2MB的1M×16位Flash;16MB的2×4M×16位SDRAM; 128×8位IIC存儲(chǔ)器接口;9針D型RS-232C串行接口;RJ-45 10/100Base-T 太網(wǎng)接口;2個(gè)可編程的LED指示燈;20針JTAG接口;系統(tǒng)總線擴(kuò)展。
1.3課題簡(jiǎn)介
本次基于ARM應(yīng)用的嵌入式教學(xué)實(shí)驗(yàn)探索的課題開(kāi)發(fā),主要目的在于掌握嵌入式應(yīng)用系統(tǒng)開(kāi)發(fā)的步驟和方法,在了解了ARM7 Linux開(kāi)發(fā)板以后,結(jié)合作者設(shè)計(jì)的外圍硬件電路,設(shè)計(jì)一個(gè)簡(jiǎn)單的電梯升降控制模擬系統(tǒng)。
2系統(tǒng)設(shè)計(jì)與分析
2.1項(xiàng)目分析
該系統(tǒng)所要完成的功能主要是利用ARM7 Linux開(kāi)發(fā)板(系統(tǒng)總線擴(kuò)展),外接一定的外圍硬件電路,并且結(jié)合相應(yīng)的應(yīng)用程序?qū)崿F(xiàn)一個(gè)簡(jiǎn)單的電梯升降模擬系統(tǒng)。主要是通過(guò)按鍵開(kāi)關(guān)及數(shù)碼管和二極管的不同顯示來(lái)實(shí)現(xiàn)簡(jiǎn)單模擬的效果。
2.2系統(tǒng)硬件資源
ARM7 Linux開(kāi)發(fā)板;9針RS-232C串行電纜線;ARM JTAG接口仿真器;外圍硬件電路;5V穩(wěn)壓直流電源。
2.3系統(tǒng)軟件資源
Linux操作系統(tǒng);板級(jí)支持包;GNU工具鏈:含ARM交叉編譯器、連接器、匯編器以及其他實(shí)用工具;uCLinux 2.0.38;uClibc 0.9.5;BusyBox 0.60.1;Thttpd 2.20c;ARM SDT2.51集成開(kāi)發(fā)工具;超級(jí)終端服務(wù)。
2.4硬件設(shè)計(jì)
(1) S3C4510B芯片引腳及分析:
S3C4510B共有208只引腳,設(shè)計(jì)時(shí)或連接時(shí)應(yīng)該注意I、O、I/O類型的引腳。輸出類型的引腳主要用于S3C4510B對(duì)外設(shè)的控制或通信,由S3C4510B主動(dòng)發(fā)出,這些引腳的連接不會(huì)對(duì)S3C4510B自身的運(yùn)行有太大的影響;輸入/輸出類型的引腳主要是S3C4510B與外設(shè)的雙向數(shù)據(jù)的傳輸通道;而某些輸入類型的引腳,其電平信號(hào)的設(shè)置是S3C4510B本身正常工作的前提,在系統(tǒng)設(shè)計(jì)時(shí)必須小心處理。圖1是S3C4510B擴(kuò)展管腳圖。
圖1 S3C4510B擴(kuò)展管腳圖
(2) 本次開(kāi)發(fā)的外圍電路器材選擇如下:
① 1-8號(hào)數(shù)碼管分別代表各樓層所能看到的電梯所在樓層數(shù);
② 9號(hào)數(shù)碼管代表電梯里所看到的電梯所在樓層數(shù);
③ 1-14號(hào)開(kāi)關(guān)分別代表每層樓的上樓和下樓的請(qǐng)求(一樓只有上樓請(qǐng)求,八樓只有下樓請(qǐng)求);
④ 15-22號(hào)開(kāi)關(guān)分別代表請(qǐng)求者所去的1-8樓層;
⑤ 8279芯片實(shí)現(xiàn)對(duì)數(shù)碼管的編程顯示;
⑥ 24個(gè)二極管分別和24個(gè)按鍵開(kāi)關(guān)相對(duì)應(yīng),代表各個(gè)按鍵開(kāi)關(guān)請(qǐng)求信號(hào)。對(duì)應(yīng)按鍵開(kāi)關(guān)按下后,二極管被點(diǎn)亮,直道該請(qǐng)求被滿足時(shí),二極管熄滅。
(3) 主要信號(hào)線的連接如下:
① 數(shù)據(jù)線XDATE0-XDATE7作為通用可編程鍵盤、鍵盤接口芯片的數(shù)據(jù)輸入信號(hào)線。同時(shí),8279的8個(gè)輸出信號(hào)OUTA0-OUTA3、OUTB0-OUTB3作為9個(gè)數(shù)碼管的輸入信號(hào)。(9個(gè)數(shù)碼管接法一樣)
② XDATE8-XDATE31作為3個(gè)74HC573鎖存器的輸入信號(hào)線。同時(shí),74HC573的輸出作為二極管的正極輸入信號(hào)線。
③ 控制信號(hào)線 ADDR0、ECS0、ECS1、DWE、OE分別作為8279的緩沖器地址輸入信號(hào)、8279片選信號(hào)、74HC53片選信號(hào)、8279寫使能信號(hào)、8279讀使能信號(hào)。
2.5軟件設(shè)計(jì)
嵌入式軟件設(shè)計(jì)與一般的軟件設(shè)計(jì)的不同在于,在應(yīng)用高級(jí)語(yǔ)言設(shè)計(jì)應(yīng)用程序的同時(shí)還要結(jié)合硬件電路的設(shè)計(jì)思想,做一些比較底層的匯編程序設(shè)計(jì)。
在該系統(tǒng)的軟件設(shè)計(jì)中,利用開(kāi)發(fā)工具ARM SDT2.51,按照模塊化程序設(shè)計(jì)思想,結(jié)合硬件電路的設(shè)計(jì),開(kāi)發(fā)應(yīng)用程序。其功能是實(shí)現(xiàn)通過(guò)對(duì)外部按鍵信息的讀取與分析,確定對(duì)上下樓請(qǐng)求的選擇性響應(yīng),從而實(shí)現(xiàn)對(duì)電梯運(yùn)行的控制。使得硬件上顯示的結(jié)果為9個(gè)數(shù)碼管示數(shù)的改變。
主程序未用C語(yǔ)言編寫。如果需要,可采用ARM支持匯編語(yǔ)言與匯編語(yǔ)言及C++語(yǔ)言混合編程。匯編語(yǔ)言實(shí)現(xiàn)C主程序的引導(dǎo)和調(diào)用。
3系統(tǒng)的調(diào)試與運(yùn)行
3.1系統(tǒng)的調(diào)試
系統(tǒng)的調(diào)試包括硬件調(diào)試、軟件調(diào)試。硬件調(diào)試包括開(kāi)發(fā)板的調(diào)試以及外圍硬件電路的調(diào)試。開(kāi)發(fā)板的調(diào)試主要是測(cè)試板上的復(fù)位電路、電源、Flash、SDRAM、10M/100M以太網(wǎng)口、串口等。外圍電路的測(cè)試主要是對(duì)焊點(diǎn)的短接、虛焊以及信號(hào)線的檢測(cè)。軟件調(diào)試則要用到ARM SDT2.51、超級(jí)終端服務(wù)和ARM JTAG仿真器。ARM Project Manager (APM) include ARM Debugger: 這個(gè)工具由ARM提供。主要是開(kāi)發(fā)程序, 編程調(diào)試ARM芯片, 有相當(dāng)不錯(cuò)的開(kāi)發(fā)環(huán)境和遠(yuǎn)端調(diào)試功能, 支持匯編和C。它帶有一個(gè)ARM自己的嵌入式操作系統(tǒng)ARM Angel,用戶可以在它的上面開(kāi)發(fā)自己的嵌入式軟件。
3.2代碼的固化
系統(tǒng)調(diào)試通過(guò)了,那么接下來(lái)就要實(shí)現(xiàn)代碼的固化,將編譯后的可執(zhí)行代碼固化到Flash中去。本次開(kāi)發(fā)中,可以通過(guò)串口或以太網(wǎng)口將可執(zhí)行文件下載到板子的 FLASH中。不過(guò)都必須使用超級(jí)終端。
4結(jié)語(yǔ)
將應(yīng)用程序和uClinux核捆綁編譯并燒到FLASH中之后,對(duì)開(kāi)發(fā)板上電復(fù)位就可以執(zhí)行應(yīng)用程序??梢酝ㄟ^(guò)超級(jí)終端控制程序的運(yùn)行。通過(guò)這樣一個(gè)實(shí)例,完成了一個(gè)嵌入式系統(tǒng)設(shè)計(jì)的全部過(guò)程。
參考文獻(xiàn):
[1] 牛小玲. 嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)的探討[J]. 實(shí)驗(yàn)室科學(xué),2006,(04).
[2] 王韜. 基于Vx Works的嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)設(shè)計(jì)[J]. 實(shí)驗(yàn)室研究與探索,2007,(01).
[3] 俞建新. 略論嵌入式系統(tǒng)的實(shí)驗(yàn)教學(xué)[J]. 實(shí)驗(yàn)室研究與探索,2006,(07).
[4] 仲偉波. 關(guān)于嵌入式系統(tǒng)教學(xué)的幾點(diǎn)思考[J]. 實(shí)驗(yàn)室研究與探索,2006,(12).
[5] 段敬紅. 嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)建設(shè)與實(shí)踐體系的建立[J]. 電氣電子教學(xué)學(xué)報(bào),2007,(03).
[6] 周朝勝. 計(jì)算機(jī)專業(yè)的嵌入式系統(tǒng)教學(xué)探討[J]. 科技信息,2007,(14).
[7] [美] Arnold Berger著,呂駿 譯. 嵌入式系統(tǒng)設(shè)計(jì)[M]. 北京:電子工業(yè)出版社,2002.
[8] 李駒光. ARM應(yīng)用系統(tǒng)開(kāi)發(fā)詳解——基于S3C4510B的系統(tǒng)設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2003.
[9] ARM Linux Board用戶手冊(cè)[Z]. 北京微芯力科技有限公司.
The Living Example of the Embedded Experiment Based on ARM
WU Jun-peng,LONG Xiao-jie
(College of Computer Science and Technology, Harbin Engineering University, Harbin 150001, China)
Abstract: In recently , with the maturity and perfection of resources of the software and hardware, embedded real-time systems are all widely used in more and more fields; various kinds of relevant embedded products emerge one after another. In the field of teaching, the embedded experiment will become one of university's important teaching practices . Based on the author's development practice, this text has explained the development of Regard S3C4510B as CPU chip on ARM7 Linux.
Key words: ARM; the embedded system; Embedded Opreating system (EOS)