武俊鵬 孫建國 龍小潔
文章編號:1672-5913(2009)08-0090-03
摘要:近年來,隨著軟硬件資源的成熟與完善,嵌入式實時系統在越來越多的領域內得到了廣泛的應用,各種相關的嵌入式產品紛紛涌現,嵌入式系統越來越引起人們的重視。在教學領域,嵌入式實驗教學也將成為高校重要的教學實踐之一。本文結合作者的開發實踐,簡要講解了基于ARM7 Linux開發板——以S3C4510B為CPU芯片的開發過程。
關鍵詞:ARM;嵌入式系統;嵌入式操作系統(EOS)
中圖分類號:G642
文獻標識碼:A
1簡介
嵌入式系統是以應用為中心,以計算機技術為基礎,并且軟硬件可裁減,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般有嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個組成部分,用于實現對其設備的控制、監視和管理等功能。
ARM嵌入式處理器是一種高性能,低功耗的RISC芯片。它由英國ARM公司設計,世界上幾乎所有的主要半導體廠商都生產基于ARM體系結構的通用芯片或在其專用芯片中嵌入ARM相關技術。它以體積小,低功耗,低成本,高性能的特點贏得了75%以上的32位RISC嵌入式產品市場。目前ARM芯片廣泛應用于無線產品,PDA,GPS,網絡,消費電子產品,STB及智能卡。市場對相關人才的迫切需求,使得把握關鍵和核心的嵌入式系統設計技術成為高等院校計算機科學與技術專業人才培養的關鍵,因此,基于ARM的嵌入式實驗教學的研究和實踐就成為計算機專業實驗教學的重點之一。
1.1嵌入式系統的組成
嵌入式系統通常由嵌入式處理器、嵌入式外圍設備、嵌入式操作系統和嵌入式應用軟件等幾大部分組成。
1.2關于ARM嵌入式技術
ARM(Advanced RISC Machines),既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。采用RISC架構的ARM微處
理器一般具有以下特點:體積小、功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8/16位器件;大量使用寄存器,指令執行速度更快;大多數數據操作都在寄存器中完成;尋址方式簡單靈活,執行效率高;指令長度固定。
本次開發用到的ARM Linux Board包含Samsung Electronics的S3C4510B網絡處理器,工作頻率為50MHz; 2MB的1M×16位Flash;16MB的2×4M×16位SDRAM; 128×8位IIC存儲器接口;9針D型RS-232C串行接口;RJ-45 10/100Base-T 太網接口;2個可編程的LED指示燈;20針JTAG接口;系統總線擴展。
1.3課題簡介
本次基于ARM應用的嵌入式教學實驗探索的課題開發,主要目的在于掌握嵌入式應用系統開發的步驟和方法,在了解了ARM7 Linux開發板以后,結合作者設計的外圍硬件電路,設計一個簡單的電梯升降控制模擬系統。
2系統設計與分析
2.1項目分析
該系統所要完成的功能主要是利用ARM7 Linux開發板(系統總線擴展),外接一定的外圍硬件電路,并且結合相應的應用程序實現一個簡單的電梯升降模擬系統。主要是通過按鍵開關及數碼管和二極管的不同顯示來實現簡單模擬的效果。
2.2系統硬件資源
ARM7 Linux開發板;9針RS-232C串行電纜線;ARM JTAG接口仿真器;外圍硬件電路;5V穩壓直流電源。
2.3系統軟件資源
Linux操作系統;板級支持包;GNU工具鏈:含ARM交叉編譯器、連接器、匯編器以及其他實用工具;uCLinux 2.0.38;uClibc 0.9.5;BusyBox 0.60.1;Thttpd 2.20c;ARM SDT2.51集成開發工具;超級終端服務。
2.4硬件設計
(1) S3C4510B芯片引腳及分析:
S3C4510B共有208只引腳,設計時或連接時應該注意I、O、I/O類型的引腳。輸出類型的引腳主要用于S3C4510B對外設的控制或通信,由S3C4510B主動發出,這些引腳的連接不會對S3C4510B自身的運行有太大的影響;輸入/輸出類型的引腳主要是S3C4510B與外設的雙向數據的傳輸通道;而某些輸入類型的引腳,其電平信號的設置是S3C4510B本身正常工作的前提,在系統設計時必須小心處理。圖1是S3C4510B擴展管腳圖。

圖1 S3C4510B擴展管腳圖
(2) 本次開發的外圍電路器材選擇如下:
① 1-8號數碼管分別代表各樓層所能看到的電梯所在樓層數;
② 9號數碼管代表電梯里所看到的電梯所在樓層數;
③ 1-14號開關分別代表每層樓的上樓和下樓的請求(一樓只有上樓請求,八樓只有下樓請求);
④ 15-22號開關分別代表請求者所去的1-8樓層;
⑤ 8279芯片實現對數碼管的編程顯示;
⑥ 24個二極管分別和24個按鍵開關相對應,代表各個按鍵開關請求信號。對應按鍵開關按下后,二極管被點亮,直道該請求被滿足時,二極管熄滅。
(3) 主要信號線的連接如下:
① 數據線XDATE0-XDATE7作為通用可編程鍵盤、鍵盤接口芯片的數據輸入信號線。同時,8279的8個輸出信號OUTA0-OUTA3、OUTB0-OUTB3作為9個數碼管的輸入信號。(9個數碼管接法一樣)
② XDATE8-XDATE31作為3個74HC573鎖存器的輸入信號線。同時,74HC573的輸出作為二極管的正極輸入信號線。
③ 控制信號線 ADDR0、ECS0、ECS1、DWE、OE分別作為8279的緩沖器地址輸入信號、8279片選信號、74HC53片選信號、8279寫使能信號、8279讀使能信號。
2.5軟件設計
嵌入式軟件設計與一般的軟件設計的不同在于,在應用高級語言設計應用程序的同時還要結合硬件電路的設計思想,做一些比較底層的匯編程序設計。
在該系統的軟件設計中,利用開發工具ARM SDT2.51,按照模塊化程序設計思想,結合硬件電路的設計,開發應用程序。其功能是實現通過對外部按鍵信息的讀取與分析,確定對上下樓請求的選擇性響應,從而實現對電梯運行的控制。使得硬件上顯示的結果為9個數碼管示數的改變。
主程序未用C語言編寫。如果需要,可采用ARM支持匯編語言與匯編語言及C++語言混合編程。匯編語言實現C主程序的引導和調用。
3系統的調試與運行
3.1系統的調試
系統的調試包括硬件調試、軟件調試。硬件調試包括開發板的調試以及外圍硬件電路的調試。開發板的調試主要是測試板上的復位電路、電源、Flash、SDRAM、10M/100M以太網口、串口等。外圍電路的測試主要是對焊點的短接、虛焊以及信號線的檢測。軟件調試則要用到ARM SDT2.51、超級終端服務和ARM JTAG仿真器。ARM Project Manager (APM) include ARM Debugger: 這個工具由ARM提供。主要是開發程序, 編程調試ARM芯片, 有相當不錯的開發環境和遠端調試功能, 支持匯編和C。它帶有一個ARM自己的嵌入式操作系統ARM Angel,用戶可以在它的上面開發自己的嵌入式軟件。
3.2代碼的固化
系統調試通過了,那么接下來就要實現代碼的固化,將編譯后的可執行代碼固化到Flash中去。本次開發中,可以通過串口或以太網口將可執行文件下載到板子的 FLASH中。不過都必須使用超級終端。
4結語
將應用程序和uClinux核捆綁編譯并燒到FLASH中之后,對開發板上電復位就可以執行應用程序。可以通過超級終端控制程序的運行。通過這樣一個實例,完成了一個嵌入式系統設計的全部過程。
參考文獻:
[1] 牛小玲. 嵌入式系統實驗教學的探討[J]. 實驗室科學,2006,(04).
[2] 王韜. 基于Vx Works的嵌入式系統實驗教學設計[J]. 實驗室研究與探索,2007,(01).
[3] 俞建新. 略論嵌入式系統的實驗教學[J]. 實驗室研究與探索,2006,(07).
[4] 仲偉波. 關于嵌入式系統教學的幾點思考[J]. 實驗室研究與探索,2006,(12).
[5] 段敬紅. 嵌入式系統實驗教學建設與實踐體系的建立[J]. 電氣電子教學學報,2007,(03).
[6] 周朝勝. 計算機專業的嵌入式系統教學探討[J]. 科技信息,2007,(14).
[7] [美] Arnold Berger著,呂駿 譯. 嵌入式系統設計[M]. 北京:電子工業出版社,2002.
[8] 李駒光. ARM應用系統開發詳解——基于S3C4510B的系統設計[M]. 北京:清華大學出版社,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)