莊志惠
(廣東技術師范學院 自動化學院,廣東 廣州 510665)
基于ARM的嵌入式技術課程實驗系統的設計與實現
莊志惠
(廣東技術師范學院 自動化學院,廣東 廣州 510665)
文章研究的內容是建立一種基于ARM7核心處理器和操作系統μC/OS-II的嵌入式技術課程實驗系統,為嵌入式系統的后續硬件軟件的開發打下基礎。對嵌入式技術課程實驗教學系統硬件軟件的功能設計與實現及對實驗項目的設置,經過反復的實驗測試,初步運行表明,嵌入式系統實驗教學平臺受到認可。
嵌入式系統;μC/OS-II操作系統;Bootloader;ARM;實驗系統
嵌入式系統技術是集電子、通信、計算機和自動控制等多學科的知識與技術于一體,加上計算機技術、微電子等技術的迅速發展,嵌入式系統正在社會各行各業得到廣泛的應用,從事嵌入式技術開發和研究和人員隊伍日益壯大。嵌入式技術特別是在高等院校,成為對新技術研究和開發最活躍群體。為了普及嵌入式技術知識,更好地培養嵌入式技術系統開發專業人才,解決當前嵌入式系統技術工程師較少的問題,設計出合適的基于ARM的嵌入式技術課程教學實驗系統成為當務之急。因此,本文根據學校教學實驗的現狀及二次開發的雙重需求,設計并實現了一個基于教學兼二次開發的嵌入式技術課程教學實驗系統。
設計的基于ARM的嵌入式技術課程實驗系統,可以為學生學習嵌入式技術課程提供完善的案例,滿足當前嵌入式技術課程的實驗教學的需要。本文主要對當前ARM的嵌入式技術課程實驗系統的現狀和發展趨勢,設計出一款基于ARM的嵌入式技術課程實驗教學系統,并對Bootloader的移植、μC/OS-II操作系統內核應用、UDP通訊、MiniGUI及多路數據采集的實現。
1.1 硬件平臺構建實現
本文研究的硬件是基于Samsung S3C44B0X微處理器(ARM7)為核心的主板,其接口非常豐富,可滿足嵌入式技術系統硬件的需要,特別是在嵌入式技術課程教學實驗系統的應用。系統采用主頻可高達66MHz的Samsung S3C44B0X作為處理器芯片,其內部集成了各類系統接口,從而在最大程度上降低系統開發時間及成本,減少外圍器件的使用。硬件平臺架構實現如圖1所示。硬件平臺構建的主要包括以下3個模塊:(1)最小系統:電源電路、晶振電路、復位電路和存儲系統;(2)人機對話:觸摸屏、液晶顯示及音頻模塊;(3)通信模塊:串行接口、JTAG調試接口、USB模塊和Internet模塊。

圖1 硬件平臺架構
1.2 軟件平臺設計實現
嵌入式系統的軟件構建,其兩大難點之一就是操作系統的移植。主要包括:(1)Bootloader的設計;(2)μC/OS-II的移植;(3)根文件系統的開發。
1.2.1 Bootloader的設計
ARM系統軟件開發用采用ADS1.2來完成Bootloader程序的設計。Bootloader程序設計分為兩部分,(1)用匯編語言來實現:與S3C44B0X硬件初始化相關的任務及程序編寫,包括屏蔽中斷、存儲器系統(NOR FLASH,RAM,PSRAM)初始化,堆棧初始化、目標板等;(2)用C語言來實現:完成支持串行通信協議(即串口初始化),支持網絡通信協議(網絡控制初始化),把μC/OS-II的內核映像文件及根文件系統映像文件引導到RAM中運行的任務。Bootloader程序流程如圖2所示。
1.2.2 μC/OS-II的移植
移植的文件分為兩類:(1)STARTUP目錄下的系統初始化、配置等文件;(2)μC/OS-II的全部源碼。編寫多任務程序來測試移植是否成功。確保μC/OS-II可以正常運行,除上述的移植工作外,其硬件初始化和配置文件也必須移植,而配置文件中必須包含時鐘、中斷處理、串口通信等功能函數。在主程序中編寫應用程序的基本框架,應包含系統初始化和多任務的創建、啟動等。

圖2 Bootloader程序流程
1.2.3 根文件系統的開發
本系統所需要的根文件系統與μC/OS-II系統的根文件系統相似,它要盡可能精簡,僅包括系統運行所必需的應用程序、庫及相關文件的最小集合。根據需要,ARM下的嵌入式根文件系統主要內容有:(1)實用程序;(2)庫文件;(3)設備文件;(4)配置文件。而根文件系統的開發應用,主要是對JFFS2類型根文件系統映像方法的編寫。
本文所設計的嵌入式技術課程教學實驗系統主要是針對本科生的嵌入式系統課程的學習,對該系統設置相關實驗,通過實驗應用來著重說明在μC/OS-II上擴展的嵌入式技術實驗系統的部分功能,對嵌入式技術實驗教學的內容進行設計。選取有代表性的實驗進行加以說明,最后給出綜合實驗,并建立綜合的應用程序。以下將設置的實驗內容作詳細說明。
2.1 鍵盤及數碼管控制實驗
鍵盤和數碼管是實驗教學中最常見的模塊,學生通過對鍵盤和數碼管的操作,作為加深對硬件的了解及學習硬件的控制方法,為后續實驗打下良好的基礎。系統中的鍵盤和數碼管模塊是通過ARM的I2C接口外接數碼管和ZLG7290鍵盤控制器來實現,通過本實驗學生能掌握I2C總線協議標準以及通過I2C總線對外接芯片進行操作的方法。對鍵盤及數碼管驅動用C語言編寫實現。
2.2 音頻控制實驗
本實驗主要對Samsung S3C44B0X自帶的IIS音頻的應用、DMA數據傳輸方式應用。
2.3 繪圖控制實驗
本實驗主要是應用系統繪制API函數,認識繪圖設備上下文在多任務操作系統中的應用。掌握繪圖設備上下文(DC)在屏幕上繪制圖形(一個圓和一個圓角矩形)。掌握繪制動畫防止閃爍的基本方法,實現無閃爍動畫。而在μC/ OS-II系統下,繪圖必須通過使用繪圖設備上下文來實現。
2.4 系統消息循環實驗
本實驗應用消息隊列接收鍵盤任務發出的按鍵信息,把對應按鍵的信息顯示在液晶屏及PC機終端。而在多任操作系統中,任務之間的通信是通過發送消息來實現。消息隊列是操作系統μC/OS-II的一種通信方式,它可以使一個任務或是中斷響應程序向另一個任務發送以指針方式定義的變量。
操作系統μC/OS-II提供了若干對消息隊列的函數,在將μC/OS-II移植到本ARM嵌入式開發系統時,對消息隊列相關函數移植又作了提高,使得對消息隊列的應用更加簡單容易。
2.5 文件應用實驗
本實驗在操作系統μC/OS-II移植到ARM嵌入式技術課程實驗系統時,參考FAT16格式為該系統擴展了一個簡單易行的文件系統,從而該操作系統功能變得更加強大,也符合當前的嵌入式教學系統開發的需要。嵌入式教學系統的硬件中的NAND FLASH存儲芯片作為嵌入式設備的固態數據存儲器,其存儲功能由文件系統管理。
2.6 UDP通信實驗
在這里主要對UDP通信的原理,掌握Socket的軟件編寫流程。Socket接口是TCP/IP協議的API,其編寫包括:Socket建立、配置Socket、建立連接、傳輸數據、結束傳輸等步驟。本實驗通過觸摸屏畫圖,并在液晶屏上顯示;通過網絡數據傳輸,并在計算機上顯示,其屏幕上的圖形由計算機控制來清除。
2.7 MiniGUI實驗
本實驗主要是了解MiniGUI的基本結構、并學會系統配置、編譯安裝,最后用HelloWorld實例進行測試。
2.8 多通道數據采集實驗
本實驗是對每路的A/D轉換結果進行監視,在液晶屏上用條形圖的長短來表示,直觀地顯示每路模擬輸入電壓的大小。實驗要采用多任務編程方法。通過文本框給每路A/D設置上限,當某路輸入超出上限值,條形圖中超出的部分將以閃動的方式顯示。
通過本文的研究,嵌入式技術課程實驗教學系統達到了預期的設計效果,學生通過相應的實驗操作逐漸過渡到課題設計,學生在后續期的項目開發,會有更多的選擇,也將提高學生的學習興趣,從而實現了一個可用于實驗和開發的嵌入式平臺。
[1]周立功,王祖麟,陳明計,等.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2005.
[2]鄭靈翔.嵌入式系統設計與應用開發[M].北京:北京航空航天大學出版社,2006.
[3]田澤.嵌入式系統開發與應用教程[M].北京:北京航空航天大學出版社,2005.
[4]邵貝貝.嵌入式實時操作系統uC/OS-II [M].2版.北京:北京航空航天大學出版社,2003.
[5]黃燕平.uC/OS ARM移植要點詳解 [M].北京:北京航空航天大學出版社,2005.
[6]韓媛媛.嵌入式系統開發技術課程的教學研究與實踐[J].中外企業家,2016(29):174.
[7]楊澤林,何莉,陳亮文.ARM嵌入式系統課程教學輔助系統的設計與應用[J].計算機時代,2017(3):40-43.
[8]陳豹.嵌入式系統課程教學方法實踐與探索[J].吉林省教育學院學報,2015(1):77-78.
[9]ZIKUN T.ARM Developer Suite[Z].Vesrion1.2.Advanced RISC Machines Ltd., 2000.
[10]SAMSUNG Corporation.S3C44B0X RISC Microprocessor Data Sheet[EB/OL].(2017-01-10)[2017-08-10].http://www.alldatasheet. com/view.jsp?Searchword=S3C44B0X01.
Design and implementation of experimental system of embedded technology course based on ARM
Zhuang Zhihui
(Automation School of Guangdong Polytechnic Normal University, Guangzhou 510665, China)
The content of this paper is to build an embedded technology course experiment system based on ARM7 core processor and operating system μC/OS-II, which lays the foundation for the development of following hardware and software of embedded system. The design and implementation of the hardware and software functions of the experimental teaching system of embedded technology course experienced repeated experimental tests, the initial operation shows that experimental teaching platform of embedded system is recognized.
embedded system; μC/OS-II operating system; Bootloader; ARM; experimental system
莊志惠(1980— ),男,廣東揭西,碩士,實驗師;研究方向:計算機控制技術,電氣新技術。