99热精品69堂国产-97超级碰在线精品视频-日韩欧美中文字幕在线视频-欧美日韩大尺码免费专区-最新国产三级在线不卡视频-在线观看成人免费视频-亚洲欧美国产精品完整版-色综久久天天综合绕视看-中文字幕免费在线看线人-久久国产精品99精品国产

歡迎來到優(yōu)發(fā)表網(wǎng)!

購物車(0)

期刊大全 雜志訂閱 SCI期刊 期刊投稿 出版社 公文范文 精品范文

嵌入式設計系統(tǒng)范文

時間:2023-08-18 17:26:02

序論:在您撰寫嵌入式設計系統(tǒng)時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導您走向新的創(chuàng)作高度。

嵌入式設計系統(tǒng)

第1篇

[關鍵詞]嵌入式系統(tǒng) 設計

[中圖分類號]TP368.1[文獻標識碼]A[文章編號]1007-9416(2010)03-0009-01

嵌入式系統(tǒng)是以應用為中心,以計算機技術為基礎,軟件硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)是將先進的計算機技術、半導體技術、電子技術和具體應用相結合的產(chǎn)物。

近年來,在計算機、互聯(lián)網(wǎng)和通信技術高速發(fā)展的同時,嵌入式系統(tǒng)開發(fā)技術取得迅速發(fā)展,嵌入式系統(tǒng)應用范圍也急劇擴大。從小到電子手表、電子體溫計、翻譯機等,大到如冷氣機、電冰箱、電視機,甚至馬路上紅綠燈的控制器、戰(zhàn)斗機中的飛控系統(tǒng)等。嵌入式系統(tǒng)幾乎無處不在:

1 嵌入式系統(tǒng)的特點

與通用計算機系統(tǒng)相比,嵌入式系統(tǒng)有其自身的特點:

(1)嵌入式系統(tǒng)是將先進的計算機技術、半導體技術以及電子技術與各個行業(yè)的具體應用相結合的產(chǎn)物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。

(2)嵌入式系統(tǒng)通常是面向用戶、面向產(chǎn)品、面向特定應用的。

(3)嵌入式系統(tǒng)和具體應用相結合,其升級換代也是和具體產(chǎn)品同步進行的。因此嵌入式系統(tǒng)產(chǎn)品一旦進入市場,就具有較長的生命周期。

2 嵌入式系統(tǒng)的發(fā)展趨勢

消費家電的智能化,為嵌入式系統(tǒng)的發(fā)展展現(xiàn)出美好的市場前景,也對嵌入式系統(tǒng)提出新的發(fā)展要求;微電子技術和系統(tǒng)設計方法的進步,使得嵌入式系統(tǒng)的發(fā)展呈現(xiàn)出以下趨勢:

(1)隨著嵌入式系統(tǒng)功能的增加,嵌入式系統(tǒng)處理的信息和數(shù)據(jù)量越來越大,系統(tǒng)對處理的響應時問也要求更嚴格,嵌入式處理器的主頻會越來越高,甚至采用多核的方式來應付日益增長的性能要求。

(2)嵌入式系統(tǒng)在工業(yè)領域和某些特殊場合的廣泛應用,要求嵌入式系統(tǒng)具有遠程控制軟件更新和故障診斷的能力。

(3)隨著嵌入式系統(tǒng)在手持設備上的大量應用,手持設備的特點要求嵌入式系統(tǒng)功耗、體積更小,重量更輕。

(4)嵌入式系統(tǒng)將具有更加高速的通信接口,如USB2.0、千兆以太網(wǎng)等。

3 嵌入式系統(tǒng)設計流程

嵌入式系統(tǒng)開發(fā)分為軟件開發(fā)部分和硬件開發(fā)部分。嵌入式系統(tǒng)開發(fā)過程一般都采用“宿主機/目標板”開發(fā)模式,即利用宿主機(PC機)上豐富的軟硬件資源及良好的開發(fā)環(huán)境和調(diào)試工具來開發(fā)目標板上的軟件,然后通過交叉編譯環(huán)境生成目標代碼和可執(zhí)行文件,通過串口FUSB/以太網(wǎng)等方式下載到目標板上,利用交叉調(diào)試器在監(jiān)控程序運行,實時分析,最后,將程序下載固化到目標機上,完成整個開發(fā)過程。當前,嵌入式開發(fā)已經(jīng)逐步規(guī)范化,在遵循一般工程開發(fā)流程的基礎上,嵌入式開發(fā)有其自身的一些特點,圖1所示為嵌入式系統(tǒng)開發(fā)的一般流程。流程主要包括系統(tǒng)需求分析佞求有嚴格規(guī)范的技術要求)、體系結構設計、軟硬件及機械系統(tǒng)設計、系統(tǒng)集成、系統(tǒng)測試、最終產(chǎn)品。具體情況如下:

(1)系統(tǒng)需求分析:確定設計任務和設計目標,并提煉出設計規(guī)格說明書,作為正式設計指導和驗收的標準。系統(tǒng)的需求一般分功能性需求和非專題與綜述功能性需求兩方面。功能性需求是系統(tǒng)的基本功能,如輸入輸出信號、操作方式等;非功能需求包括系統(tǒng)性能、成本、功耗、體積、重量等因素。

(2)體系結構設計:描述系統(tǒng)如何實現(xiàn)所述的功能和非功能需求,包括對硬件、軟件和執(zhí)行裝置的功能劃分,以及系統(tǒng)的軟件、硬件選型等。一個好的體系結構是設計成功與否的關鍵。

(3)硬件/軟件協(xié)同設計:基于體系結構,對系統(tǒng)的軟件、硬件進行詳細設計。為了縮短產(chǎn)品開發(fā)周期,設計往往是并行的。嵌入式系統(tǒng)設計的工作大部分都集中在軟件設計上,采用面向?qū)ο蠹夹g、軟件組件技術、模塊化設計是現(xiàn)代軟件工程經(jīng)常采用的方法。

(4)系統(tǒng)集成:

把系統(tǒng)的軟件、硬件和執(zhí)行裝置集成在一起,進行調(diào)試,發(fā)現(xiàn)并改進單元設計過程中的錯誤。

(5)系統(tǒng)測試:對設計好的系統(tǒng)進行測試,看其是否滿足規(guī)格說明書中給定的功能要求。

4 嵌入式系統(tǒng)設計面臨的挑戰(zhàn)

要求更高的應用需求推動嵌入式設計從8/16位轉(zhuǎn)向功能更強大的32位MCU。這種升級給工程師帶來了嚴峻的挑戰(zhàn),提出了一系列前所未有的全新問題。

(1)轉(zhuǎn)變觀念,需要熟悉新的開發(fā)模式。嵌入式系統(tǒng)應用不再是過去單一的單片機應用模式,而是越來越多樣化,嵌入式系統(tǒng)實現(xiàn)的最高形式是片上系統(tǒng)SoC,而SoC的核心技術是重用和組合IP核構件。從單片機應用設計到片上系統(tǒng)設計及其中間的一系列的變化,從底層大包大攬的設計到利用FPGA和IP模塊進行功能組合PSoC/SOPC設計。

(2)技術門檻提高,需要學習全新的RTOS技術。

(3)選擇合適的開發(fā)工具,熟悉新的開發(fā)環(huán)境。目前從8位升級到32位的一個最大障礙就是開發(fā)工具的投入。32位開發(fā)工具要比8位開發(fā)工具復雜得多,使用的技術門檻要高得多,同時其投資也要高得多。

(4)熟悉硬件/軟件協(xié)同設計和驗證技術、設計管理技術。軟/硬件并行設計是嵌入式系統(tǒng)設計的一項關鍵任務。在設計過程中的主要問題,是軟硬件設計的同步與集成。這要求控制一致性與正確性,但隨著技術細節(jié)不斷增加,需要消耗大量的時間。目前,業(yè)界已經(jīng)開發(fā)Polis、Cosyma及Chinook等多種方法和工具來支持集成式軟硬件的協(xié)同設計。目標是提供一種統(tǒng)一的軟硬件開發(fā)方法。它支持設計空間探索,并使系統(tǒng)功能可以跨越硬件和軟件平臺復用。團隊開發(fā)的最大問題就是設計管理問題。

(5)SoC設計所面臨的巨大的挑戰(zhàn)。SoC已經(jīng)開始成為新一代應用電子技術的核心,這已成為電子技術的革命標志。過去應用工程師面對的是各種ASIC電路,而現(xiàn)在越來越多所面對的是巨大的IP模塊庫,所有設計工作都是以IP模塊為基礎。SoC設計技術使嵌入式系統(tǒng)設計工程師變成了一個面向應用的電子器件設計工程師。隨著SoC應用的日益普及,在測試程序生成、工程開發(fā)、硅片查錯、量產(chǎn)等領域?qū)oC測試技術提出了越來越高的要求。

[參考文獻]

[1] DSP技術及應用.黃仁欣.2002年出版.

[2] 單片機技術.彭永.2007年12月出版.

[3] 電子感測技術.周南山.2007年出版.

[4] 電子技術基礎.韋鴻.2008年出版.

第2篇

關鍵詞:嵌入式系統(tǒng);開發(fā)環(huán)境

中圖分類號:TP311 文獻標識碼:A文章編號:1009-3044(2011)07-1649-02

A Reseach on Design of Embedded System

FANG Jian-gang

(Computer College, Wuhan University of Technology, Wuhan 473000, China)

Abstract: Embedded technique as a new and great development force's science technique has been concerned by more and more people.The article discusses the feature of embedded system,embedded software and hardware developing process and design methods.

Key words: embedded system; development environment

嵌入式系統(tǒng)已經(jīng)廣泛的應用到通信、家電、汽車、工業(yè)控制等領域,極大的便利了人們的生活。嵌入式系統(tǒng)是指以應用為核心,以計算機技術為基礎,軟硬件可裁剪,對功能、可靠性、成本、體積和功耗嚴格要求的專用計算機系統(tǒng),,也是為實現(xiàn)對象體系智能化控制的計算機系統(tǒng)。嵌入式系統(tǒng)如圖1。

嵌入式系統(tǒng)由硬件和軟件兩大部分組成,其分類可以從硬件和軟件進行劃分。從硬件方面來講,各式各樣的嵌入式處理器是嵌入式系統(tǒng)硬件中的最核心的部分,而目前世界上具有嵌入式功能特點的處理器已經(jīng)超過1000種,流行體系結構包括MCU,MPU等30多個系列。很多半導體制造商都大規(guī)模生產(chǎn)嵌入式處理器,并且公司自主設計處理器也已經(jīng)成為了未來嵌入式領域的一大趨勢,從軟件方面劃分,主要可以依據(jù)操作系統(tǒng)的類型。目前嵌入式系統(tǒng)的軟件主要有兩大類:實時系統(tǒng)和分時系統(tǒng)。其中實時系統(tǒng)又分為兩類:硬實時系統(tǒng)和軟實時系統(tǒng)。

嵌入式系統(tǒng)應該具備4個特性:1) 執(zhí)行特定的功能;2) 以微處理器和設備構成核心;3) 需要嚴格的時序與穩(wěn)定性;4)全自動操作。

1 嵌入式處理器

嵌入式處理器可以分成下面幾類:嵌入式微處理器(Micro Processor Unit,MPU)、嵌入式微控制器(Microcontroller Unit, MCU)、嵌入式DSP處理器(Embedded Digital Signal Processor, EDSP)、嵌入式片上系統(tǒng)(System On Chip),其中采用RISC架構的ARM微處理器以它優(yōu)越的性能被廣泛的應用與嵌入式開發(fā)各個領域。

2 嵌入式操作系統(tǒng)

嵌入式操作系統(tǒng)負責嵌入式系統(tǒng)的全部軟、硬件資源的分配、調(diào)度、控制、協(xié)調(diào);它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過加載卸載某些模塊來達到系統(tǒng)所要求的功能。實時操作系統(tǒng)是嵌入式系統(tǒng)目前最主要的組成部分。

Linux是目前最為流行的一款開放源代碼的操作系統(tǒng),在當今開發(fā)嵌入式系統(tǒng)中,70%以上的項目選擇的Linux作為嵌入式系統(tǒng)。另一種常見的嵌入式Linux是UcLinux,它去掉了內(nèi)存管理單元,該系統(tǒng)直接訪問內(nèi)存,所有的程序中訪問的地址都是物理地址。嵌入式Linux有以下特點:精簡的內(nèi)核,性能高、穩(wěn)定,支持多任務、多種體系結構等。

3 嵌入式系統(tǒng)的設計方法

3.1 嵌入式系統(tǒng)的總體結構

一個嵌入式系統(tǒng)一般都由嵌入式微處理器系統(tǒng)和被控制對象組成,其中微處理器系統(tǒng)是整個系統(tǒng)的核心,由硬件層、中間層、軟件層和功能層組成。硬件層是嵌入式微處理器、電路和外設,軟件層主要是操作系統(tǒng),功能層是基于操作系統(tǒng)開發(fā)的應用程序組成,用來完成對被控對象的控制功能。中間層是將系統(tǒng)軟件與底層硬件部分隔離,使系統(tǒng)的底層設備驅(qū)動程序與硬件無關。

3.2 嵌入式系統(tǒng)的開發(fā)特點和流程

開發(fā)特點:1) 采用宿主機|目標機的方式。2) 生成的代碼需要固態(tài)化存儲。3) 軟件代碼具有高質(zhì)量、高可靠性。

開發(fā)流程一般由5個階段構成:需求分析、體系結構設計、硬件|軟件設計、系統(tǒng)集成和代碼固化。各個階段之間往往要求不斷地反復和修改,直至完成最終設計目標。

3.3 嵌入式系統(tǒng)調(diào)試

在嵌入式系統(tǒng)中系統(tǒng)調(diào)試是非常困難的,不同于傳統(tǒng)軟件的調(diào)試,因為開發(fā)程序平臺和目標平臺是分開的。一般來說,大部分的工作是在RAM中進行的,只有當程序完成并能運行后才切換到ROM上。調(diào)試方法有多種,可分為模擬器方式、在線仿真器方式、在線調(diào)試器方式、監(jiān)控器方式。

4 嵌入式Linux應用程序開發(fā)

4.1 開發(fā)環(huán)境的建立

進行項目開發(fā)前,首先要搭建一套基于Linux操作系統(tǒng)的應用開發(fā)環(huán)境,一般由目標機和宿主機所構成。目標板用于運行操作系統(tǒng)和系統(tǒng)應用軟件,而目標板所用到的操作系統(tǒng)的內(nèi)核編譯、應用程序的開發(fā)和調(diào)試則需要通過宿主機來完成。雙方之間通過關鍵接口如串口、以太網(wǎng)口或USB口建立連接關系。個人進行嵌入式開發(fā)可以在自己的PC上安裝一套Linux,使用系統(tǒng)中的工具來編譯、調(diào)試。多人開發(fā)的最好建立個Linux服務器,使用服務器的Linux系統(tǒng)的gcc編譯生成目標代碼,通過ftp傳到每個開發(fā)人員的PC,然后通過串口或網(wǎng)絡下載開發(fā)板上。開發(fā)人員也可以在Windows下安裝模擬Linux環(huán)境的軟件(如Cygwin、虛擬機等)來開發(fā)。

交叉編譯環(huán)境是一個由編譯器、連接器和解釋器組成的綜合開發(fā)環(huán)境。交叉編譯工具主要包括針對目標系統(tǒng)的編譯器gcc、目標系統(tǒng)的二進制工具binutils、目標系統(tǒng)的標準c庫glibc、gdb代碼調(diào)試器和目標系統(tǒng)的Linux內(nèi)核頭文件。

4.2 引導程序

一個嵌入式軟件系統(tǒng)通??梢苑譃橐龑С绦駼ootLoader、操作系統(tǒng)內(nèi)核、文件系統(tǒng)和用戶程序4個層次。

BootLoader和PC機中的BIOS很相似,整個系統(tǒng)的加載啟動任務完全由它來完成。BootLoader是在操作系統(tǒng)內(nèi)核或用戶應用程序運行之前運行的一段小程序,可以初始化硬件設備,建立內(nèi)存的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶來一個合適的狀態(tài),為最終調(diào)用內(nèi)核和應用程序準備好正確的環(huán)境。大多數(shù)BootLoader都包含兩種不同的操作模式:啟動加載模式和下載模式。

BootLoader的啟動過程大多數(shù)分兩個階段,第一階段主要包含依賴于CPU的體系結構硬件的初始化代碼,通常是用匯編語言實現(xiàn)的,這一階段任務是硬件設備初始化,為加載BootLoader的階段2準備RAM空間,拷貝BootLoader階段2的代碼到RAM中,設置好堆棧,跳轉(zhuǎn)到階段2的C程序入口。階段2通常是用C語言來實現(xiàn),這階段任務是初始化本階段要使用的硬件設備,檢測系統(tǒng)的內(nèi)存映射,將內(nèi)核映像和跟文件系統(tǒng)映射從FLASH上讀到RAM空間中,為內(nèi)核設置參數(shù),調(diào)用內(nèi)核。

4.3 Linux操作系統(tǒng)的移植

Linux系統(tǒng)實際上由兩個比較獨立的部分組成,即內(nèi)核部分和系統(tǒng)部分。Linux系統(tǒng)的移植分為內(nèi)核移植和系統(tǒng)移植,內(nèi)核可以視為由5個功能部分組成:進程管理、內(nèi)存管理、設備管理、虛擬文件系統(tǒng)、網(wǎng)絡。由于Linux內(nèi)核良好的分層結構將硬件相關的代碼獨立出來,在做系統(tǒng)移植時,只需要改動進程管理、內(nèi)存管理和設備管理中被獨立出來的那部分與硬件相關的代碼,開發(fā)者要將自己開發(fā)的代碼加到Linux內(nèi)核中,需要確定代碼放入到內(nèi)核的位置,了解Linux的內(nèi)核配置系統(tǒng),把開發(fā)功能增加到Linux的配置選項中,使用戶能夠選擇此功能。

4.4 應用程序的移植和調(diào)試

在開發(fā)環(huán)境和操作系統(tǒng)建立后,就可以開始應用程序的開發(fā)了,應用程序的開發(fā)一般先在宿主機上調(diào)試完成,然后下載到目標板,宿主機和目標板必須建立可靠的連接,連接主要方式是串口連接、網(wǎng)絡連接和JTAG口連接。

Linux中可以使用應用程序資源非常豐富,可將現(xiàn)成的程序移植到嵌入式系統(tǒng)中,可以極大加快開發(fā)流程,提高開發(fā)效率。

調(diào)試應用程序:Linux包含一個gun調(diào)試程序gdb,它是一個用來調(diào)試C和C++程序的調(diào)試器。通過gdb還可以在程序運行時觀察內(nèi)部結構和內(nèi)存的使用情況。

5 嵌入式Linux驅(qū)動程序開發(fā)

由于嵌入式設備硬件種類豐富,對于Linux系統(tǒng)的開發(fā),很大工作量是為各種設備編寫驅(qū)動程序。操作系統(tǒng)一般提供設備驅(qū)動程序來完成對特定硬件的控制,以建立應用程序和設備之間的抽象接口。設備驅(qū)動程序?qū)嶋H是處理和操作硬件控制器的軟件,從本質(zhì)上講是內(nèi)核中具有最高特權硬件的、駐留內(nèi)存的、可共享的底層硬件處理例程。驅(qū)動程序是內(nèi)核的一部分,屏蔽了硬件的細節(jié),Linux操作系統(tǒng)將所有的設備全部看成文件,都納入文件系統(tǒng)的范疇,并通過文件的操作界面進行操作。

5.1 驅(qū)動程序的開發(fā)過程

實現(xiàn)一個嵌入式Linux設備驅(qū)動的流程:

1) 查看原理圖,理解設備工作原理。2) 定義設備號。3) 實現(xiàn)初始化函數(shù),在驅(qū)動程序中實現(xiàn)驅(qū)動的注冊和卸載。4) 設計所要實現(xiàn)的文件操作。5) 實現(xiàn)所要的文件操作調(diào)用。6) 實現(xiàn)中斷服務,并用request-irq向內(nèi)核注冊。7) 編譯該驅(qū)動程序到內(nèi)核中,或者用insmod命令加載模塊。8) 測試該設備,編寫應用程序,對驅(qū)動程序進行調(diào)試。

5.2 模塊化驅(qū)動程序

當談到軟件時,我們通常稱執(zhí)行態(tài)為內(nèi)核空間和用戶空間,模塊是在內(nèi)核空間中運行的,而應用程序則是在用戶空間中運行。

Linux通過系統(tǒng)調(diào)用和硬件中斷完成從用戶空間到系統(tǒng)空間的控制轉(zhuǎn)換。模塊的作用就是擴展內(nèi)核的功能,是運行在內(nèi)核空間的模塊化的代碼,模塊的某些函數(shù)作為系統(tǒng)調(diào)用執(zhí)行,而某些函數(shù)負責中斷。內(nèi)核模塊的一部分保存在Kernel中,另一部分在Modules包中,模塊就像一個插件,內(nèi)核提供一個插槽,在需要時,插入內(nèi)核中使用,不需要時從內(nèi)核拔出,這一切都由一個稱作Kernel的守護進程自動處理。內(nèi)核模塊的這種動態(tài)加載具有以下優(yōu)點:將內(nèi)核映像的尺寸保持在最小,并具有最大的靈活性。這便于檢驗新的內(nèi)核代碼,而不需要重新編譯內(nèi)核并重新引導。

6 總結

本文對嵌入式系統(tǒng)設計的進行了深入淺出的探討,分析了嵌入式系統(tǒng)的組成和特點,描述了嵌入式系統(tǒng)開發(fā)流程以及嵌入式Linux下驅(qū)動程序開發(fā)特點。

參考文獻:

[1] 馬忠梅,李善平,葉楠.ARM&Linux嵌入式教程[M].北京:北京航天航空出版社,2004.

[2] 孫天澤,袁文菊,張海峰.嵌入式設計及l(fā)iunx驅(qū)動開發(fā)指南―基于ARM9處理器[M].北京:電子工業(yè)出版社,2005.

第3篇

關鍵詞:UML;嵌入式系統(tǒng);OOD建模;雙向工程

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)34-9742-02

The Design on UML Embedded Systems

YU Hai-wen

(College of Information Engineering Nanchang University(Pre-Lake Campus), Nanchang 33000, China)

Abstract: UML is the the most popular standard modeling language, embedded systems are professional computer system on the centre of application and the base of computer technology, embedded systems are the integrity of software and hardware; The design's quality of embedded systems is the key of success about digital products. The paper discuss the important conception of UML,and how to use the technology of UML OOD in the design of embedded systems, then show us the steps based on the example of microwave light.

Key words: UML; embedded systems; OOD modeling; two-way engineering

近年來,數(shù)字家電、汽車電子、MP3、Smart Phone等躍居電腦產(chǎn)業(yè)的主流地位,數(shù)字整合的需求日益增長,嵌入式軟件(Embedded Software)系統(tǒng)愈來愈復雜,涉及到的接口越來越多,這種軟、硬件結合的協(xié)同設計(Hardware/Software Co-design)需要不同技術背景的人共同開發(fā),如何使這些具有不同技術背景和專長的人聯(lián)合開發(fā)、協(xié)同設計?UML可以解決這個問題。統(tǒng)一建模語言UML(Unified Modeling Language)采用一種簡單而直觀的圖形化方式描述系統(tǒng)設計中的各個問題和細節(jié)。不同技術背景的設計師只需懂得UML 符號就可以與對方交流、共同設計。

本文將重點討論如何在嵌入式系統(tǒng)設計中使用 UML 技術,并結合實例“微波爐小燈”演示采用 UML 的嵌入式系統(tǒng)設計過程。

1 UML OOD建模

1.1 UML基本概念介紹

1.1.1 UML事物

UML中事物是實體抽象化的最終結果,是模型中的基本成員,UML中包含結構事物、行為事物、分組事物和注釋事物。

1.1.2 UML建模圖

圖是事物集合的分類,UML中包含多種圖:1)類圖(Class Diagram);2)對象圖(Object Diagram);3)包圖(Package Diagram);4)組件圖(Compoment Diagram,也稱構件圖);5)部署圖(Deployment Diagram);6)用例圖(Usecase Diagram);7)時序圖(Sequence Diagram);8)協(xié)作圖(Collaboration Diagram);9)狀態(tài)圖(Statechart Diagram);10)活動圖(Activity Diagram)。

由于篇幅原因,本文將結合一個需求非常簡單的“微波爐小燈”的實例,給出幾個重要的圖。本文介紹的圖采用業(yè)界使用最廣泛的UML建模工具Rational Rose。Rational Rose為團隊開發(fā)和規(guī)范的開發(fā)過程管理提供了良好的支持。

1.2 UML OOD建模

從應用的角度上來講,面向?qū)ο蟮南到y(tǒng)設計一般需要完成如下工作:

1)描述需求;2)根據(jù)需求建立系統(tǒng)的靜態(tài)模型;3)建立系統(tǒng)的動態(tài)模型:即描述系統(tǒng)的行為。

1.2.1 描述需求

“微波爐小燈”的實例需求很簡單,即微波爐里有個小燈,微波爐門打開時,它就亮起來,一旦關上門,就熄掉了。本文將根據(jù)此需求說明,采用UML設計一個控制程序來感應微波爐對象的狀態(tài)變化,并且觸發(fā)小燈對象的狀態(tài)變化。

1.2.2 建立系統(tǒng)的靜態(tài)模型

用例圖(Use Case Diagram):UML的Use Case圖1描述User對整體系統(tǒng)的功能需求,本例中,User會有兩項動作――“開微波爐”與“關微波爐”,而且期待開微波爐時會亮小燈,關微波爐時小燈會自動熄掉。

類圖(Class Diagram):如圖2,類是OOD中一個重要概念。軟件組件的模塊通稱為組件的類(Class),OOD設計理念是程序指令寫在類里,其所檢驗測試的對象都是類,等到電腦執(zhí)行時才由電腦在內(nèi)存中定義實體組件(對象)。

1.2.3 建立系統(tǒng)的動態(tài)模型

建立系統(tǒng)的動態(tài)模型實質(zhì)就是描述系統(tǒng)的行為。

時序圖(Sequence Diagram):圖3這個時序圖反映了開微波爐過程中觸發(fā)小燈亮的詳細執(zhí)行過程。

狀態(tài)轉(zhuǎn)換圖4(Statechart Diagram):對對象行為做詳細的描述。就小燈而言,消息的傳達是個事件(Event),這事件令小燈改變狀態(tài)(亮或熄)。

2 雙向工程

2.1 正向工程

Rational Rose中可實現(xiàn)正向(為模型產(chǎn)生相應的代碼,即程序框架)、逆向(從用戶原來的軟件系統(tǒng)導出該系統(tǒng)的模型)和雙向工程(實現(xiàn)模型和代碼之間的循環(huán)工程),從而保證模型與代碼的高度一致,這個功能意味著降低了開發(fā)人員編寫程序的復雜度和工作量。

Rational Rose支持C++、Visual C++、Java、Smalltalk、Ada、Visual Basic、PowerBuilder等語言和開發(fā)工具,并能為CORBA 應用生成接口定義語言(IDL),為數(shù)據(jù)庫應用生成數(shù)據(jù)庫描述語言(DDL)等。Rational Rose默認支持的語言是Java。

本例中,在完成了“微波爐小燈”類圖制作后,選擇菜單“Tools” “Java/J2EE”“generate code”即可生成Java代碼,當原建模文件更新時,代碼會同步更新。

2.2 逆向工程

前面所述正向工程雖然只是得到了代碼框架,實現(xiàn)功能部分的代碼仍需開發(fā)人員輸入。隨著軟件功能的實現(xiàn)及新的用戶需求的加入,原建模文件在需要更新時,可不需要重新畫圖,只需進行逆向工程操作即可。本例中,在完成了“微波爐小燈”代碼后,選擇菜單“Tools”“Java/J2EE”“reverse engineer”即可生成新的建模文件。

3 小結

在軟、硬件設計領域中,采用UML進行軟件組件設計及其架構(Architecture)規(guī)劃技術逐漸成為業(yè)界關注的焦點。根據(jù)本文及“微波爐小燈”實例,顯然從UML設計圖到Java(C及C++)代碼的過程很流暢。

參考文獻:

[1] 徐寶文. UML與軟件建模[M]. 北京:清華大學出版社,2006.

第4篇

關鍵詞:ARM 嵌入式系統(tǒng)

中圖分類號:TP368.1 文獻標識碼:A 文章編號:1007-9416(2012)12-0104-01

1、序言

本系統(tǒng)是設計一款基于ARM的嵌入式開發(fā)平臺,該嵌入式開發(fā)平臺是基于AT91SAM9263(基于ARM926EJ-S芯核)的嵌入式系統(tǒng),可以在此系統(tǒng)上運行嵌入式操作系統(tǒng),并在上運行嵌入式數(shù)據(jù)庫、人機窗口等應用程序,此系統(tǒng)包括硬件和軟件兩部分,本文主要介紹硬件部分。

2、系統(tǒng)硬件設計

本系統(tǒng)硬件由核心板和母板組成,核心板將系統(tǒng)擴展可能用到的總線都引出來,與母板之間通過針形接插件連接,為以后產(chǎn)品開發(fā)提供了穩(wěn)定、經(jīng)濟而又方便的平臺,此種設計的好處,其一把高速和低速分開,降低了硬件之間的干擾,提高了穩(wěn)定性。其二是當系統(tǒng)需要擴展某些特殊接口時,則只需要對母板進行修改,縮短了開發(fā)周期。

其中核心板設計這部分是任何一個ARM系統(tǒng)要正常運行所必備的電路,因此稱為核心板,這些基礎電路,包括存貯程序用的Flash存貯器,運行程序和緩沖數(shù)據(jù)所必須的SDRAM、復位模塊、時鐘模塊、JTAG接口等。這部分電路集中在較小空間里,因此相對比較密集,而且這部分的信號是超高速信號,且電路的設計要求比較高,所以核心板采用購買成熟的核心板。

系統(tǒng)母板設計了大部分的電路,因為模板上的信號都是低速信號,所以從成本角度考慮,母板采用二層電路板設計,其主要電路包括了電源部分、USB接口部分、串口及10/100M以太網(wǎng)接口、LCD接口、CAN總線以及底板與核心板之間通過針形接插件相連的接口等,其結構如圖1所示。

下面將分模塊介紹電路原理。

2.1 串行接口電路設計

系統(tǒng)設計了一個RS-232、RS-485接口,方便與其他設備通信。具體的電路采用MAX3232作為電平轉(zhuǎn)換芯片,它本身提供兩組驅(qū)動器和接收器,并接有數(shù)字隔離器ADuM1201,此芯片提供了兩個信道的通道,具體電路如圖2。

系統(tǒng)的RS-485串行接口,是由ADM2483來實現(xiàn),ADM2483本身是帶有隔離的高速RS-485轉(zhuǎn)換器,不需要其它額外的電路。

2.2 以太網(wǎng)接口設計

系統(tǒng)選用DM9161作為以太網(wǎng)的接口芯片,因為系統(tǒng)工作在100BASE-TX模式下,所以選擇RMII作為DM9161與AT91SAM9263的接口模式,具體電路如圖3所示。

2.3 CAN接口電路設計

本系統(tǒng)的CAN總線接口的實現(xiàn),是通過外接CAN收發(fā)器來實現(xiàn)的,系統(tǒng)選用的是MCP2551作為系統(tǒng)的收發(fā)器,其特點是有差分發(fā)射和接收能力,自動檢測TXD輸入端接地錯誤及較強的抗噪聲特性。

3、結語

本系統(tǒng)設計了基于ARM系統(tǒng)的嵌入式硬件平臺,在此之上可以提供各種實時操作系統(tǒng),從而構成一個完整的平臺,其硬件部分電路已經(jīng)進行了信號完整性分析具有一定的可靠性。

參考文獻

[1]田澤.嵌入式系統(tǒng)開發(fā)與應用[M].北京:北京航空航天大學出版社,2005.

第5篇

為解決公交車的高效便捷清洗問題,基于青島理工大學韓旭東教授的團隊設計的一款“垂直滾筒式公交清洗小車”,利用AT89C51單片機配合其他元器件,設計了相關的嵌入式系統(tǒng),包括超聲波測距系統(tǒng)和手動/自動雙模平臺升降控制系統(tǒng),完善了原產(chǎn)品的設計。采用KeilC51軟件編寫了相應的控制程序,使用Proteus軟件繪制了電路原理圖,并進行了仿真模擬。

關鍵詞:

公交清洗小車;嵌入式系統(tǒng);超聲波測距;平臺升降控制

0引言

為解決公交車的高效便捷清洗問題,青島理工大學韓旭東教授的團隊設計了一款“垂直滾筒式公交清洗小車”[1]。但在該設計中,僅對機械結構與工作原理做了介紹,缺少相關的控制電路與控制程序的設計,給清洗小車的使用帶來了極大的不便。本文在原產(chǎn)品的基礎上,針對小車與公交車之間距離的控制不準確的問題,設計了超聲波測距系統(tǒng);針對平臺升降控制不方便的問題,設計了手動/自動雙模平臺升降控制系統(tǒng)。有效地提高了該產(chǎn)品的實用性,完善了該產(chǎn)品的設計。

1超聲波測距系統(tǒng)

1.1設計目的

清洗小車由人力推動并控制方向,但由于路面不平,人力控制精度有限,會使小車與公交車車體間的距離發(fā)生改變,距離過近會使?jié)L筒擠壓車體表面,阻礙滾筒旋轉(zhuǎn);距離過遠,則會使?jié)L筒毛刷與車體表面間間隙過大,影響清洗效果。需要一套測距系統(tǒng)使小車與公交車車體間的距離始終保持在一個合理范圍之內(nèi)。

1.2測距方式的選擇

超聲波測距是利用機械波反射來測量距離,適用于短距離測距,原理簡單,成本低,遠距離測量精度較低。公交清洗小車的使用環(huán)境比較復雜,對測距系統(tǒng)的精度要求不高,測量的距離在1~2m,且要求結構簡單、成本低廉、性能穩(wěn)定。根據(jù)需要和集中測距方式的特點,本文選擇超聲波測距方式。

1.3超聲波測距原理

超聲波在均勻介質(zhì)中的傳輸速度為一恒定值,由發(fā)生器發(fā)射超聲波,在遇到測量目標后反射回來,由接收器接收并記錄由發(fā)射到接收經(jīng)歷的時間,便可以計算出發(fā)生器與測量目標之間的距離[2]。公式如下:L=12C•Δt。式中:L為測量距離;C為超聲波在當前介質(zhì)中的傳輸速度(空氣中常溫下速度為340m/s);Δt為從發(fā)射到接收經(jīng)歷的時間。

1.4設計內(nèi)容

本文利用AT89C51單片機、HC-SR04超聲波測距模塊、LED燈組成了一個超聲波測距警報系統(tǒng)。當距離過近時,指示距離過近的紅燈點亮;距離適中時,指示距離適中的綠燈點亮;當距離過遠時,指示距離過遠的紅燈點亮。工作人員可以根據(jù)燈光指示調(diào)整小車位置,使之與車體表面間的距離保持在一個合理范圍。1.4.1HC-SR04超聲波測距模塊工作原理本文所采用的HC-SR04超聲波測距模塊,具有成本低、體積小、精度高、使用簡單方便等優(yōu)點,其基本工作原理為:1)采用I/O口TRIG觸發(fā)測距,提供至少10μs的高電平信號;2)模塊自動發(fā)送8個40kHz的方波,自動檢測是否有信號返回;3)有信號返回,通過I/O口ECHO輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間[3]。1.4.2程序控制過程利用AT89C51單片機自帶的定時計數(shù)器資源,通過I/O口給超聲波模塊一個發(fā)射信號并開始計時,當收到超聲波模塊的反饋信號時,結束計時并計算距離。

2手動/自動雙模平臺升降控制系統(tǒng)

2.1設計目的

現(xiàn)行大多數(shù)公交車的高度在3m左右,為能夠確保清洗整個車體表面,原產(chǎn)品采用雙絲杠旋轉(zhuǎn)驅(qū)動平臺升降的設計,并利用直流電動機產(chǎn)生動力。為方便用戶使用,能夠快捷高效操作平臺升降,提高清洗效率,本文設計了一套手動/自動雙模平臺升降控制系統(tǒng)。

2.2設計內(nèi)容

根據(jù)計算,清洗平臺需調(diào)整2次高度才可將車體表面清洗完畢,為了方便工作人員操作,本文設計了手動/自動雙??刂葡到y(tǒng)。該系統(tǒng)采用AT89C51單片機,配合L289直流電動機驅(qū)動模塊,通過控制電動機的正反轉(zhuǎn)實現(xiàn)平臺的升降,設計原理圖見圖4[5]。操作過程為:啟動系統(tǒng)后,在自動模式下,按UP鍵,平臺會上升一個固定高度;按DOWN鍵,平臺會下降一個固定高度。該高度值是為實現(xiàn)最高清洗效率,以3m高的車身為標準,經(jīng)優(yōu)化計算得出的最適高度。因為公交車的型號差異,車身高度也各不相同,所以為滿足實際使用要求,我們又設計了手動控制模式。在手動模式下,按住UP鍵,平臺會上升,松開立即停止;按住DOWN鍵,平臺會下降,松開立即停止。為防止工作人員誤操作,本文增加了按鍵防抖動延遲,防止工作人員誤觸按鍵;如果UP和DOWN鍵同時按下,則電動機停轉(zhuǎn),直至其中一個按鍵松開。

3結語

第6篇

關鍵詞:黑盒測試;嵌入式系統(tǒng);程序流程圖;插樁處理

引言

黑盒測試是從用戶觀點出發(fā)的測試,依據(jù)需求功能說明書中的預期用途、定時和性能的要求,推斷測試結果。黑盒測試根據(jù)測試階段可分為單元測試、集成測試、確認測試、系統(tǒng)測試四個階段[1]。嵌入式計算機系統(tǒng)具有與傳統(tǒng)軟件測試不同的新特性,因此需要采取針對性的測試方法。通用的測試方法可分為靜態(tài)時間分析和動態(tài)時間分析。

1嵌入式軟件測試的環(huán)境分析

在線仿真配備了CPU芯片接口,提供和應用程序交流信息橋,不足之處在于對硬件的依賴性較強,測試范圍較窄;目標機仿真測試結果真實,但由于實際運行中連接外部設備,很難辨識軟件和硬件錯誤。在實際測試中,根據(jù)測試效率、成本、可靠性、自動化程度等因素選擇測試環(huán)境[2]。

2嵌入式測試系統(tǒng)的技術實現(xiàn)

CodeTest一方面吸取軟件插樁技術,另一方面從硬件測試那里吸取從總線獲取數(shù)據(jù)的技術,并進行升級改造。在硬件測試時,CodeTest選擇插入點的方式為主動獲取關鍵數(shù)據(jù)。和CodeTest相比,純軟件測試對目標測試的影響大大降低。因此選用Cereal仿真器。嵌入式軟件測試系統(tǒng)由功能測試模塊、代碼測試模塊、數(shù)據(jù)分析和文檔報告模塊、通信接口轉(zhuǎn)換模塊組成。對于黑盒測試來說,功能測試模塊居主導地位,它主要通過接收目標系統(tǒng)輸出信號和需要的信號進行比對來判定目標系統(tǒng)在功能上是否達到最優(yōu)[3]。

3詞法語法分析的設計與實現(xiàn)

3.1Lex⁃Yacc

Lex是檢測字符匹配性的詞法生成程序,Yacc是測定語法的生成程序。一個Lex程序由三段組成:首先是C和Lex定義;第二段是C代碼;第三段是C函數(shù)。一個Yacc程序也是由三段組成,分別是聲明、語法規(guī)則和C代碼。Lex同Yacc的工作原理如圖1所示。

3.2Lex⁃Yacc之間的聯(lián)系

Lex程序用來計算數(shù)字字符串,能對各種符號進行識別,當插碼時可以以注釋的形式插入插樁代碼,等程序完成,可以自行取消代碼插樁,不影響整體進程。Yylval用來傳遞Lex與Yacc之間數(shù)字字符串轉(zhuǎn)化后的數(shù)值,利用lineno傳遞正在處理的代碼行號和標號。本次設計全程在Linux下,通過Lex編譯后生成詞法分析程序的C代碼,通過Yacc編譯后生成語法分析程序的C程序代碼。兩者通過gcc命令進行編譯形成綜合分析。最后運行該綜合分析器就可以對51系列的匯編語言進行分析[4⁃5]。

3.3被測源程序靜態(tài)結構分析

Lex⁃Yacc工具對單文件逐行掃描,得出當前語句各類參數(shù)類型,不同參數(shù)類型分別進入不同的單鏈表中。其中除了順序單鏈表外,其他四種處理方式基本相同。待詞法、語法分析完畢,五個單鏈表中存儲了對應的匯編程序。因為單鏈表本身只是一個轉(zhuǎn)換器,無法顯示匯編程序之間的邏輯關系,所以需要對程序進行二次分析,確定所有邏輯關系。其中五個單鏈表形成的流程圖如圖2所示。針對程序流程圖的建立,首先搜索匹配節(jié)點,根據(jù)節(jié)點不同進入相應分支處理。當前語句在順序節(jié)點,則進入順序處理模塊。從關鍵字“結束行號+1”開始遍歷單鏈表,存在兩種結果:一是算法出錯;另外一種就是在主程序中時則表明當前分支分析完成。接著要判斷條件跟蹤鏈表中的順序分支(規(guī)定為右分支)是否都已分析完畢。

4覆蓋率分析及評測

4.1被測源程序覆蓋率分析

虛擬插樁技術就是在匯編語言基本結構的特點上,在源程序的插樁點處設置斷點,在源程序執(zhí)行到斷點處,響應斷點處指令,給出具體的PC地址,自動記錄并打印出來,接連下去形成PC值的數(shù)據(jù)鏈。通過查詢五類單鏈表與之建立對應關系,就可以獲得到源程序的真實運行軌跡,進而計算出各類覆蓋指標。

4.2基于代碼的覆蓋評測

在仿真測試平臺原型系統(tǒng)上,基于代碼的覆蓋測試首先需要選定適合用作黑盒測試的子過程模塊。提取的子過程模塊必須具備獨立運行的能力,根據(jù)覆蓋測試的標準和要求對代碼邏輯結構進行認真分析,設計出多個測試用例,然后通過手工運行該子程序的方式,在某一特定測試用例驅(qū)動下運行,測定出運行路徑,通過計算得出兩種覆蓋率理論評測指標,與仿真測試平臺上實現(xiàn)的兩種覆蓋率相對比,得出覆蓋率分析法與虛擬插樁的正確性驗證結果。

5嵌入式系統(tǒng)平臺設計

設計一個可以代替人工進行黑盒測試的平臺系統(tǒng),見圖3,其基本原理是通過腳本語言記錄狀態(tài)信息,之后通過PC回放測試信息以判斷結果是否與記錄腳本一致,以此決定本次測試是否通過。為此,在編輯源代碼時就需要滿足錄制腳本和腳本回放兩個階段的需求。

5.1插裝代碼分析

在PC上運行插裝系統(tǒng)最重要的原則就是要保證軟件原有功能的穩(wěn)定性和完整性。因此在設計嵌入式系統(tǒng)的插裝代碼時不能改變程序的原有邏輯和原有執(zhí)行流程,應盡量降低在嵌入式系統(tǒng)所占的資源,盡可能將部分功能和操作交付于PC進行。嵌入式系統(tǒng)中的模擬用戶輸入模塊的主要功能是將計算機發(fā)送的命令進行分析,并將結果回復到處理模塊中,其操作模擬流程見圖4。

5.2系統(tǒng)狀態(tài)的定義和獲取

(1)聲音信息的獲取嵌入式系統(tǒng)中對聲音信息的獲取主要是通過識別每個聲音惟一的ID編號和固定的音頻編碼進行的。工作時,由系統(tǒng)中的服務函數(shù)獲得ID聲音的音頻編碼并發(fā)送到PC中。(2)獲取LED信息LED的運行方法和聲音相似,都有一套惟一的LED編碼,并由LED控制器控制。常用的設計方法是將LED中的編碼放到嵌入式系統(tǒng)中的緩沖區(qū)內(nèi),通過定時刷新函數(shù)提取LED信息[6]。(3)獲取LCD信息由于LCD需要顯示的信息較多,且各消息屬性復雜,因此較難提取。目前常用的提取方法是點陣截取法和消息截取法。由于點陣截取法操作簡單、測試結果準確率高,因此本文使用點陣截取法獲取LCD信息。(4)系統(tǒng)狀態(tài)的獲取主動請求和被動獲取是嵌入式系統(tǒng)獲取信息的主要方式。主動請求是指嵌入式系統(tǒng)在處理完PC發(fā)出的操作命令時,主動將搜集好的信息發(fā)送到PC上。被動獲取是指嵌入式系統(tǒng)并不主動發(fā)送檢測信息,而是當狀態(tài)出現(xiàn)時才決定是否繼續(xù)后續(xù)操作。

5.3自動化比較和測試

軟件是否準確輸出結果,需要經(jīng)過多次測試實際輸出和預期輸出的差別。本文在設計嵌入式系統(tǒng)時綜合考慮了一些智能比較思想來優(yōu)化設計流程。由于實際的嵌入式系統(tǒng)會產(chǎn)生上百個復雜的狀態(tài)信息[7],為便于比較,本文采用了相對比較的辦法對錄制腳本時的狀態(tài)變遷進行比較。最后設計完成的嵌入式系統(tǒng)需對腳本進行測試,這是交互式應用的重要組成部分。腳本測試的準確度主要依賴于所選用的測試工作和腳本技術。當前主要的腳本技術有共享腳本、數(shù)據(jù)驅(qū)動腳本、結構化腳本等。這些腳本都包括了三個命令,即人工操作命令、狀態(tài)檢查命令、邏輯控制命令。測試腳本主要就是對這三個命令進行檢查,其中在自動化檢測中采用何種腳本記錄測試結果可依據(jù)模塊要求進行選定。

6結語

黑盒測試技術的匯編語言測試系統(tǒng)用例研究在我國已經(jīng)很多,本文最大的亮點是引入虛擬插樁技術,實現(xiàn)真正插樁,即在被測源程序的插樁點處設置中斷指令,當源程序運行到該點處時自動運行斷點指令,給出具體的PC地址,進而給出一系列地址數(shù)據(jù),根據(jù)事先設定的用例判定運行效果,得出黑盒測試的正確驗證結果。此方法最大的優(yōu)點在于高效、精確、成本較低,在實際運用中具有較高的實用價值。

參考文獻

[1]孫昌愛,靳若明,劉超,等.實時嵌入式軟件的測試技術[J].小型微型計算機系統(tǒng),2000,21(9):920⁃924.

[2]杜曉東.面向嵌入式系統(tǒng)的測試工具研究[D].成都:電子科技大學,2003.

[3]蘇銘,宋宗宇,王華.多計算機的自動插樁與監(jiān)測系統(tǒng)[J].計算機工程與應用,2002(4):79⁃82.

[4]楊作梅,張旭東.1ex與yacc[M].北京:電子工業(yè)出版社,2003.

[5]鄧支益,何亦征,田翼.嵌入式軟件測試研究[J].航空電子技術,2003,34(1):37⁃42.

[6]曹文靜,宮云戰(zhàn).軟件測試性計算方法研究[J].計算機工程與設計,2003,24(10):67⁃70.

第7篇

關鍵詞:嵌入式芯片;FPGA;人機交互界面

嵌入式芯片是當前一些主流數(shù)碼設備的核心部件,也是嵌入式系統(tǒng)的硬件基礎。嵌入式系統(tǒng)是以應用為中心,軟硬件可裁減的,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統(tǒng)。簡單地說,嵌入式系統(tǒng)集系統(tǒng)的應用軟件與硬件于一體,類似于PC中BIOS的工作方式,具有軟件代碼小、高度自動化、響應速度快等特點,特別適合于要求實時和多任務的體系。

嵌入式芯片主要包括FPGA芯片(Field Programmable Gate Array 現(xiàn)場可編程門陣列),MCS-51系列芯片等等。本文主要介紹面向嵌入式芯片的指令測試系統(tǒng)。

一、系統(tǒng)架構

測試系統(tǒng)的主體是面向嵌入式芯片的人機交互界面。它為用戶提供了檢測芯片指令集的各種便捷操作。

為了更好的實現(xiàn)測試體系的各項功能,筆者在編寫程序時,將測試系統(tǒng)人為的分成了幾個模塊。這些模塊之間有著非常緊密的聯(lián)系,每一步的實現(xiàn)都是下一步成功運行的基礎。

測試體系的主體架構主要分為五個部分:

(一)源代碼的輸入與保存

用戶可以通過編輯框輸入代碼,實現(xiàn)程序的編寫。此外系統(tǒng)還為用戶提供了編輯框的清空操作,并可以自動將編寫的代碼保存為.asm文件。

(二)源文件的讀取與顯示

用戶可以將已經(jīng)編寫好的源文件讀入系統(tǒng),并對其進行編輯。

(三)交叉編譯

系統(tǒng)對讀入的源文件進行編譯,期間用戶可以自動配編譯工具,編譯完成后系統(tǒng)將自動報錯。

(四)串口的輸入輸出

系統(tǒng)可以將用戶指定的二進制文件送到串行口中,并發(fā)送至連接到PC端的8051芯片中。發(fā)送成功后,系統(tǒng)將顯示已經(jīng)發(fā)送的信息。

系統(tǒng)可以自動接收來自串口的消息,并顯示在相應的列表框中。

(五)程序運行日志

系統(tǒng)在用戶運行了測試體系之后,即程序的出口處,自動生成程序的運行日志,它為用戶顯示了程序運行的各項參數(shù),例如程序運行時間,串口狀態(tài)等。

此外系統(tǒng)為了使用戶可以更加方便自如的使用本測試框架,在每一部分的實現(xiàn)過程中,都充分考慮了軟件的靈活性,盡可能的讓用戶自主配置測試體系的各項參數(shù)。

二、系統(tǒng)設計

(一)整體性

作為嵌入式測試系統(tǒng)的人機交互界面,在其設計的過程中必然要形成一套完備的軟件體系,即保證程序運行的整體性。這關系到整個測試系統(tǒng)的完整性和穩(wěn)定性。

源代碼輸入和源文件讀取部分主要是將指令集測試代碼導入到系統(tǒng)中。交叉編譯部分的工作是對導入系統(tǒng)的測試代碼進行編譯處理,以便用戶對測試代碼進行調(diào)試。串口檢測部分是將編譯通過的測試程序所生成的二進制文件以8位字符串的形式送入串口,經(jīng)過開發(fā)板的運行以后,將結果通過串口輸出到指定的LCD顯示屏或PC上,從而驗證測試程序的可執(zhí)行性。程序運行日志是對整個程序運行的效率和穩(wěn)定性向用戶提供的反饋信息。

(二)靈活性

在保證程序運行的整體性的同時,為了使測試體系的使用更加的方便,提高測試體系進一步完善的空間,就必須保證各功能模塊的靈活性。在源代碼輸入和源文件讀取的部分,系統(tǒng)默認的輸入程序是匯編程序,但用戶也可以輸入C程序,JAVA程序,XML程序等多種程序語言。同時,在交叉編譯部分也可以通過調(diào)用不同的編譯器和鏈接器對這些程序編譯調(diào)試,這無形中將單一的面向嵌入式芯片的匯編編譯器擴展為集C語言編譯器,JAVA語言編譯器和XML語言編譯器等多種編譯器于一體的集成編譯環(huán)境,從而實現(xiàn)強大的編譯功能。串口檢測部分為用戶提供串口參數(shù)的配置框,并支持串口信息的發(fā)送與接收,從而使測試體系具有了類似超級終端的串口通信功能,這也為用戶對串口操作提供了極大的方便。

三、結束語

作為當前主流的數(shù)碼產(chǎn)品的關鍵部件,嵌入式芯片必然會在未來的IT市場上占有越來越重要的地位。本文所探討的嵌入式芯片測試系統(tǒng)正是基于這樣的考量,不但從源代碼的輸入與保存,源文件的讀取與顯示,交叉編譯,串口的輸入輸出和程序運行日志這五個模塊來構建測試系統(tǒng),而且還從程序設計的整體性和靈活性兩個方面,對該系統(tǒng)進行了評測。未來的嵌入式系統(tǒng)和普通的計算機系統(tǒng)在微型化和小型化方面將會趨于一致,而測試系統(tǒng)也可以進一步擴展為對整個計算機系統(tǒng)進行相應的檢測。希望測試系統(tǒng)能為嵌入式芯片的發(fā)展做出一定的貢獻。

參考文獻:

[1]胡振華.VHDL與FPGA設計[M].北京:中國鐵道出版社,2003.

[2]陳榮,陳華.VHDL芯片設計[M].北京:機械工業(yè)出版社,2006.

[3]張大波,吳迪,郝軍.嵌入式系統(tǒng)原理設計與應用[M].北京:機械工業(yè)出版社,2005.