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