第一篇:嵌入式處理器基于SPI引導的RAM 自檢論文
0 引言
隨著全球網(wǎng)絡(luò)進一步擴展到新終端設(shè)備和以前未連接的行業(yè)中,網(wǎng)絡(luò)安全對消費者、企業(yè)和其他機構(gòu)變得越來越重要。人們越來越需要性能安全、價格便宜的裝置設(shè)備。為了降低成本,往往需要簡化電路設(shè)計。例如,采用SPI 方式引導硬件,使用SPI Flash 作為存儲媒介,減少總線的布線,是簡化硬件電路的較好的方法。但采用SPI 方式引導硬件,需要將程序引導到DDR 內(nèi)存中,同時又需要對DDR 內(nèi)存進行檢查,這就出現(xiàn)了矛盾?;赟PI 的硬件引導
本文以一個實例,對嵌入式處理器基于SPI 引導硬件時如何進行RAM 檢查進行詳細的介紹。是嵌入式處理器使用SPI 引導的硬件框圖。硬件引導程序和系統(tǒng)程序放在SPI Flash 中,在上電引導后,系統(tǒng)程序會被搬移到DDR 空間,在D DR 空間運行起來?,F(xiàn)在以U-Boot 硬件引導程序為例,介紹以SPI 引導模式引導系統(tǒng)硬件的情況。U-Boot 是德國DENX 小組的開發(fā)用于多種嵌入式CPU 的Bootloader 程序,可以支持多種嵌入操作系統(tǒng)和多種處理器。編譯的U-Boot 程序,往往是運行在NOR Flash 或DDR 中的。但在基于SPI 引導時,需要先從SPI Flash 往片內(nèi)RAM 里運行一段程序,將DDR 內(nèi)存檢查一遍,然后再將U-Boot 引導到DDR 內(nèi)存中去運行。SPI 引導采用的數(shù)據(jù)格式
在TI 公司的DSP 及ARM 處理器,飛思卡爾公司POWERPC 及ARM 處理器,都支持基于SPI 的引導模式。在這些處理器的片內(nèi)ROM 都包含基本的SPI 引導驅(qū)動程序。本文以飛思卡爾公司的QorIQ P1010 處理器為例介紹其引導過程。P1010 片內(nèi)的SPI 驅(qū)動程序能夠把SPI 接口Flash 中的程序拷貝到DDR 內(nèi)存或片內(nèi)RAM 中。不過,在拷貝之前,需要先對DDR 控制器或片內(nèi)RAM 進行配置。這就需要定義一個特定的數(shù)據(jù)結(jié)構(gòu),完成引導程序所需要的環(huán)境配置。對于不同的處理器,生產(chǎn)廠家定義的引導數(shù)據(jù)結(jié)構(gòu)是不同的。在P1010 處理器完成復位序列后,通過選擇使用處理器片內(nèi)ROM 的SPI 引導配置程序,而后處理器內(nèi)核開始運行該片內(nèi)ROM 程序,配置SPI 控制器,并與外部的SPI Flash 通信,將程序拷貝出來并跳到指定的位置運行時配置數(shù)據(jù)寫入此地址。當最低位為1 時,配置地址域高30 bit 代表的是指令,此時配置數(shù)據(jù)寫入此地址。這樣的結(jié)構(gòu)讓用戶可以方便地配置4 B 對齊的內(nèi)存,完成控制指令操作,或定義程序配置階段的結(jié)束
當CNT(最低位)=0 時,則高30 bit 用作要寫入數(shù)據(jù)的地址,配置數(shù)據(jù)包含要寫入的數(shù)據(jù)。
當CNT=1 時,則高30 bit 用作控制指令。
當EC=1 時,代表配置階段結(jié)束指令。
當DLY=1 時,代表延時一定時間指令。
當CF=1 時,代表更改SPI 頻率的指令。
CNT 表示地址模式與指令模式的切換。
當處理器內(nèi)核開始拷貝程序時,先判斷0X40 位置的標志是否正確,如果正確,先根據(jù)配置的地址/數(shù)據(jù)對的個數(shù)N 來配置一些外圍寄存器,然后從0X50 處指示的Flash 地址搬移用戶代碼數(shù)據(jù)到0X58 指示的地址。搬移完成后,從0X60 指示的地址開始運行。將片內(nèi)運行的這一段程序叫TPL 程序。片內(nèi)RAM 運行的TPL 程序
P1010 包含256 KB 的L2CACHE,也可以當片內(nèi)RAM 使用。要檢查DDR 內(nèi)存,要先在片內(nèi)RAM 里運行一小段TPL 程序。這一段程序是對基于DDR 引導程序U-Boot 的一個裁剪,主要完成內(nèi)核的配置,初始化串口終端,初始化DDR 內(nèi)存控制器,然后檢查DDR 內(nèi)存。在這里不需要設(shè)置U-Boot 的環(huán)境變量,不需要配置以太網(wǎng)等其他的外圍器件。編譯后的TPL 目標文件為uboot-tpl.bin。TPL 程序的編譯按RAM 引導的方式處理。程序的開始地址設(shè)為:0xc0030000~0xc0038800?,F(xiàn)在需要對編譯后的uboot-tpl.bin 進行格式處理,在其前面加上SPI 引導的可以識別的數(shù)據(jù)表頭,是按照(SPI 引導模式的數(shù)據(jù)結(jié)構(gòu))和(配置地址域的數(shù)據(jù)格式)完成的一個SPI 引導配置實例。在這個實例中,將L2CACHE 設(shè)為片內(nèi)RAM,開始地址設(shè)為0xc0000000。這一部分空間在處理器內(nèi)核引導時已經(jīng)通過TLB 映射,可以直接使用。結(jié)論
嵌入式處理器在使用SPI 引導硬件時,先通過片內(nèi)RAM 運行一段程序,對DDR 內(nèi)存進行自檢,而后再將U-Boot 程序及環(huán)境變量引導到DDR 空間,把硬件系統(tǒng)引導起來。通過實例化的應(yīng)用,證明這在高性價比的嵌入式應(yīng)用中是一個不錯的選擇,不僅能提高系統(tǒng)的可靠性,而且簡單易行。
第二篇:嵌入式論文
信息工程學院
課程設(shè)計報告書
專 業(yè): 電子信息科學與技術(shù) 班 級: 0312412 學 號: 031241217 學生姓名: 肖文洲 指導教師: 劉三軍
計算機專業(yè)嵌入式系統(tǒng)課程的研究與實踐
【摘 要】隨著電子技術(shù)的發(fā)展,嵌入式技術(shù)成為當今信息技術(shù)發(fā)展的主流技術(shù)。嵌入式技術(shù)作為高校計算機專業(yè)的一個新方向已被許多學校采用。本文通過對嵌入式技術(shù)的分析,提出了嵌入式系統(tǒng)課程體系建設(shè)的基本方法,包括專業(yè)培養(yǎng)計劃、嵌入式系統(tǒng)教學實踐平臺建設(shè)以及嵌入式系統(tǒng)教學模式與教學方法創(chuàng)新等?!娟P(guān)鍵詞】嵌入式技術(shù);研究與實踐;計算機專業(yè)
隨著電子技術(shù)和信息技術(shù)的快速發(fā)展及嵌入式硬件技術(shù)與軟件技術(shù)的不斷成熟,嵌入式系統(tǒng)的應(yīng)用越來越廣泛,如智能家電、手機、汽車電子、網(wǎng)絡(luò)通信及電子娛樂產(chǎn)品等,隨之而來的是社會對嵌入式產(chǎn)品開發(fā)人才的需求也越來越多。因此,許多高校都開設(shè)了嵌入式系統(tǒng)開發(fā)方面的系列課程。由于嵌入式系統(tǒng)課程涉及的知識面寬、實踐性強,對實驗教學的要求較高,包括實驗教師、硬件配置、實驗項目的設(shè)置等。因此,作為對新技術(shù)研究和探索最活躍的群體,高等院校如何接受嵌入式技術(shù)帶來的挑戰(zhàn),盡快開設(shè)嵌入式系統(tǒng)的相關(guān)理論與實驗課程,并逐漸形成較規(guī)范的教學體系已成為一個重要的研究課題。
一、嵌入式系統(tǒng)教學的特點
設(shè)置嵌入式系統(tǒng)課程的目的是讓未來的軟硬件開發(fā)人員了解和掌握必要的嵌入式系統(tǒng)設(shè)計方法的概念、方法和工具。同時由于嵌入式系統(tǒng)對其他學科領(lǐng)域的滲透,其他相關(guān)專業(yè)的學生也有學習該課程的需求與必要。如其他電子、自動化專業(yè)都可開設(shè)相應(yīng)的選修課程,在某種程度上可以提升畢業(yè)學生的競爭力、就業(yè)率。嵌入式系統(tǒng)課程的教學內(nèi)容應(yīng)包括嵌入式系統(tǒng)體系結(jié)構(gòu)、硬件構(gòu)架、軟件編程及外圍設(shè)備接口和驅(qū)動等,注重培養(yǎng)學生的設(shè)計能力和軟件開發(fā)能力;盡量反映該領(lǐng)域近年來最新的理論與技術(shù),使學生了解學科的最新發(fā)展。嵌入式系統(tǒng)課程的特點是涉及知識面廣、綜合性強、實踐性強,并且學科發(fā)展快,因而學習難度大,難以形成一個簡單明確的知識體系。同時該課程講授難度很大,它要求教師不僅具備一般的計算機系統(tǒng)的軟硬件知識,而且需要真正從事過嵌入式系統(tǒng)的開發(fā)實踐,才能對嵌入式系統(tǒng)中的實時性等抽象概念和系統(tǒng)調(diào)試過程有感性認識。嵌入式系統(tǒng)教學主要有以下三個特點:(1)基礎(chǔ)性。嵌入式系統(tǒng)技術(shù)涉及多個專業(yè),如計算機工程、軟件工程、工業(yè)自動控制、機電工程、精密儀器和電子工程等,嵌入式技術(shù)與各個專業(yè)相互滲透融合,將逐漸形成新的學科研究方向,因此,嵌入式系統(tǒng)可作為上述各專業(yè)的基礎(chǔ)平臺課,以強化專業(yè)基礎(chǔ)知識。(2)綜合性。嵌入式系統(tǒng)是軟件和硬件設(shè)計的完美結(jié)合。它涉及電子信息、計算機、自動控制等諸多專業(yè)相關(guān)課程的內(nèi)容,如語言、微機原理、單片機設(shè)計和操作系統(tǒng)等課程,有很強的綜合性,因此,可以有效地對學生進行綜合能力的培養(yǎng)。(3)實踐性。嵌入式系統(tǒng)是理論與實踐結(jié)合密切的課程。實驗是嵌入式系統(tǒng)課程的重要組成部分,缺乏實驗的嵌入式系統(tǒng)課程學習是紙上談兵,因此,學生必須通過大量的實驗和實踐環(huán)節(jié),來加深對嵌入式系統(tǒng)理論知識的理解。
二、適合計算機專業(yè)的嵌入式系統(tǒng)課程體系
嵌入式系統(tǒng)涉及電子、計算機、自動控制等諸多專業(yè)知識,專業(yè)性強,包括了操作系統(tǒng)、微機原理、編程語言程序設(shè)計、計算機網(wǎng)絡(luò)和接口設(shè)計等內(nèi)容,是軟件、硬件的完美結(jié)合。因此,嵌入式系統(tǒng)的設(shè)計原理與技術(shù)不是一門課程所能講授的,需要建立一個課程體系。
嵌入式系統(tǒng)本身就是計算機系統(tǒng)。從廣義上講,目前計算機科學與技術(shù)專業(yè)的課程體系中所設(shè)置的許多專業(yè)基礎(chǔ)課,比如數(shù)字邏輯、C/C++程序設(shè)計、計算機網(wǎng)絡(luò)等,對嵌入式系統(tǒng)設(shè)計的學習者來說同樣重要。在此,只從狹義的角度探討嵌入式系統(tǒng)的課程體系設(shè)置。
由于嵌入式系統(tǒng)涉及的知識面廣、應(yīng)用層面廣,所以應(yīng)針對嵌入式系統(tǒng)設(shè)計與應(yīng)用的不同層面的需求,設(shè)置不同層面的課程體系。從狹義上劃分,嵌入式系統(tǒng)課程體系可以有以下三個不同的層面: 第一層面:針對將來只是應(yīng)用嵌入式系統(tǒng)硬件、軟件平臺來進行二次開發(fā)的學生而言,應(yīng)側(cè)重培養(yǎng)其基于某個嵌入式系統(tǒng)平臺上(包括硬件平臺和軟件平臺)進行應(yīng)用系統(tǒng)設(shè)計和開發(fā)的能力。因此,針對這一層面的學生應(yīng)開設(shè)以下幾門主要課程: 《嵌入式實時操作系統(tǒng)》:選取一個具體的操作系統(tǒng)比如uCLinux為例,講授嵌入式操作系統(tǒng)的原理及應(yīng)用,重點介紹如何進行任務(wù)劃分、如何編寫I/ O驅(qū)動程序等。《嵌入式系統(tǒng)設(shè)計》:重點介紹嵌入式系統(tǒng)設(shè)計步驟、方法,重點介紹嵌入式應(yīng)用軟件的開發(fā)技術(shù),以及嵌入式系統(tǒng)的測試技術(shù)及軟件優(yōu)化技術(shù)?!肚度胧骄W(wǎng)絡(luò)技術(shù)》:重點介紹基于嵌入式環(huán)境下的網(wǎng)絡(luò)通信技術(shù)及應(yīng)用,比如I2C總線技術(shù)、USB接口技術(shù)、嵌入式Web技術(shù)等,掌握相關(guān)的通信技術(shù)及接口編程。
第二層面:針對將來從事嵌入式系統(tǒng)平臺設(shè)計及合作開發(fā)的學生而言,除需要學習上述三門課程外,還必須開設(shè)《嵌入式系統(tǒng)結(jié)構(gòu)》課程。該課程重點介紹某個具有代表性的嵌入式CPU(如ARM系列)的系統(tǒng)結(jié)構(gòu)、匯編指令系統(tǒng)、中斷管理機制、常用外圍接口,使學生掌握嵌入式平臺設(shè)計的基礎(chǔ)知識。前提是學生具備數(shù)字邏輯方面的相關(guān)基礎(chǔ)知識。對于與第一個層面相同的課程,其授課中重點也不完全一樣。比如,《嵌入式操作系統(tǒng)》課程可以嵌入式Linux為主,重點介紹進程調(diào)度、進程間通信、內(nèi)存管理和I/O驅(qū)動機制等,使學生具備進行操作系統(tǒng)的裁剪、移植的基本能力。
第三層面:針對將來從事SOC(systemonChip)系統(tǒng)設(shè)計及開發(fā)的學生而言。主要課程有數(shù)字邏輯設(shè)計與應(yīng)用、電子電路原理與PCB技術(shù)、EDA技術(shù)(FPGA設(shè)計及應(yīng)用)、嵌入式系統(tǒng)結(jié)構(gòu)、嵌入式操作系統(tǒng)等,偏重于底層的設(shè)計。
通過以上分析可以看出,第一層至第三層分別是嵌入式系統(tǒng)中由軟到硬、由高層至底層的三個不同應(yīng)用層次,對應(yīng)不同的知識結(jié)構(gòu)需求。第一層偏軟,對底層的系統(tǒng)結(jié)構(gòu)及接口等要求較低,是在當前比較容易實現(xiàn)的一個培養(yǎng)方向。在計算機本科專業(yè)中,軟件方向比較適合開展第一個層面的嵌入式系統(tǒng)教學,應(yīng)用方向比較適合開展第二個層面的嵌入式系統(tǒng)的教學。根據(jù)以上分析,可以提出在計算機本科專業(yè)開設(shè)嵌入式系統(tǒng)方向需要參照的課程體 系:(1)專業(yè)基礎(chǔ)課:嵌入式系統(tǒng)概論、嵌入式系統(tǒng)原理與接口技術(shù)。(2)專業(yè)必修課:嵌入式操作系統(tǒng)、嵌入式系統(tǒng)應(yīng)用設(shè)計。
(3)專業(yè)選修課:嵌入式網(wǎng)絡(luò)技術(shù)、嵌入式系統(tǒng)測試技術(shù)、嵌入式工程應(yīng)用(即行業(yè)領(lǐng)域,如移動通信技術(shù)與應(yīng)用、數(shù)字家庭網(wǎng)關(guān)技術(shù)等)、分布式嵌入式系統(tǒng)原理與設(shè)計等。
作為課程體系的一部分,實踐教學是嵌入式系統(tǒng)教學的關(guān)鍵。實踐教學設(shè)置的總體指導思想是:以培養(yǎng)創(chuàng)新動手能力為核心,建立“系統(tǒng)的多級課程實踐”的實驗體系,包含課程基礎(chǔ)實驗、課程設(shè)計、綜合項目設(shè)計;同時,以“項目為中心”設(shè)計多層次的集中實踐題目,各層次的題目難度不等,以適合不同層次的學生[4]。
(1)每門課保證至少30%以上的上機或?qū)嶒瀸W時,完成基礎(chǔ)實驗項目。(2)至少有兩門課的課程設(shè)計(約兩周),如ARM匯編程序設(shè)計、操作系統(tǒng)移植實驗、LCD/觸摸屏等接口實驗等等。(3)至少完成一個綜合課程設(shè)計(課余時間+綜合實訓時間共約40學時),類似于一個簡單的工程項目,有設(shè)計、編程調(diào)試、性能測試等完整的步驟如手機游戲、校園導航、電子詞典、嵌入式WEB服務(wù)器等。
(4)校企合作,建立實習基地,聯(lián)合完成項目設(shè)計。
三、嵌入式系統(tǒng)課程體系在計算機專業(yè)的實踐
我們在分析了企業(yè)對嵌入式人才需求的基礎(chǔ)上,提出了“在計算機本科專業(yè)培養(yǎng)嵌入式系統(tǒng)人才”的具體實施方案,并在2007級、2008級本科生中進行了實踐。
該課程定位為實驗研究型。目標是通過嵌入式實驗平臺學習構(gòu)建一個嵌入式系統(tǒng)的一般方法,熟悉一些常用的微處理器、存儲器、外設(shè)接口并學習軟硬件設(shè)計方法。掌握嵌入式操作系統(tǒng),定制內(nèi)核,編譯下載調(diào)試,編寫驅(qū)動程序和應(yīng)用程序等,最后要求實現(xiàn)或部分實現(xiàn)一個具體嵌入式應(yīng)用的解決方案,并在硬件平臺上實現(xiàn)出來。
課程的主要內(nèi)容包括:(1)典型嵌入式系統(tǒng)的基本配置?硬/軟件綜合設(shè)計方法和流程?應(yīng)用范例?(2)硬件環(huán)境微處理器?存儲器?I/O 口?外設(shè)接口和驅(qū)動?電源轉(zhuǎn)換和管理?總線?硬件調(diào)試?(3)嵌入式操作系統(tǒng)?操作系統(tǒng)內(nèi)核?Linux 和uCLinux?任務(wù)和任務(wù)調(diào)度?實時 OS? GUI?API?文件系統(tǒng)等?(4)嵌入式網(wǎng)絡(luò)通過和計算機網(wǎng)絡(luò)結(jié)合, 開發(fā)基于網(wǎng)絡(luò)接的應(yīng)用?(5)軟件開發(fā)過程?交叉編譯?鏈接調(diào)試?下載?板級支持包?(6)驅(qū)動程序?設(shè)備驅(qū)動機制?按鍵和觸摸屏驅(qū)動?網(wǎng)口驅(qū)動?紅外?USB 驅(qū)動?
實驗是嵌入式系統(tǒng)教學的一個比較重要的環(huán)節(jié),實驗大綱的制定是保證課程教學大綱目標實現(xiàn)的一個重要環(huán)節(jié),制定出符合學生實際的實驗大綱對計算機科學與技術(shù)專業(yè)培養(yǎng)目標的實現(xiàn)至關(guān)重要。按難易程度的不同,實驗內(nèi)容分為兩個層次:基本實驗與綜合應(yīng)用實驗?;緦嶒?zāi)康氖亲寣W生了解嵌入式軟件和硬件的一般開發(fā)環(huán)境與流程,進行基本的嵌入式程序開發(fā)。綜合應(yīng)用實驗?zāi)康氖亲寣W生綜合運用前面所學到的知識,按照指定的題目,自行設(shè)計開發(fā)嵌入式應(yīng)用程序?;緦嶒灠ㄇ度胧杰浖_發(fā)基礎(chǔ)實驗、人機接口實驗、通信與音頻接口實驗、簡單驅(qū)動程序?qū)嶒灪颓度胧讲僮飨到y(tǒng)移植實驗等。對于綜合應(yīng)用實驗,給出多個題目,選擇其一,學生也可以自選題目。設(shè)備選 擇 了 北 京 博 創(chuàng) 公 司 所 開 發(fā) 的PXA270教學實驗平臺,由于 PXA270 性能好,實驗開發(fā)板的外圍設(shè)備又很豐富,使得實驗選題更加靈活。
課程設(shè)計及畢業(yè)設(shè)計中對所學知識的運用與提高在理論學習結(jié)束后,學生對嵌入式系統(tǒng)開發(fā)的各個環(huán)節(jié)有了較深入的理解與掌握。我們的方法是在課程設(shè)計和畢業(yè)設(shè)計中深化學習。課程設(shè)計中,結(jié)合實驗用開發(fā)平臺,選擇了如MP3模擬控制系統(tǒng)等在實際中真正是嵌入式大行其道的應(yīng)用領(lǐng)域。在畢業(yè)設(shè)計中,我們布置了諸如“嵌入式智能控制器”,“嵌入式音頻控制器”,“內(nèi)核裁減”設(shè)計等工作,這些設(shè)計要求學生從軟硬件協(xié)同設(shè)計到軟硬件的測試方法等有深刻的掌握。還有組織學生參加大學生嵌入式設(shè)計競賽等教學活動。
四、結(jié)束語
隨著嵌入式應(yīng)用的迅猛發(fā)展,企業(yè)對嵌入式人才需求的缺口越來越大,越來越多的高校開始加強嵌入式系統(tǒng)的教學和科研,培養(yǎng)更多的適應(yīng)社會需求嵌入式系統(tǒng)人才。本文所設(shè)置的針對計算機本科專業(yè)的嵌入式系統(tǒng)課程體系,融合了企業(yè)的需求和計算機專業(yè)的特點,符合實際應(yīng)用。針對兩年實踐中存在的問題,在以后的教學中將不斷完善。
參考文獻:
[1]田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用教程[M].北京:北京航空航天大學出版社,2005.[2]符意德.嵌入式系統(tǒng)教學及實驗內(nèi)容的探討[J].軍工高
[3]賈志平.嵌入式系統(tǒng)原理與接口技術(shù)[M].北京:清華大學出版社,2004.[4]柳翔.嵌入式軟件工程人才培養(yǎng)的探索與實踐[J].計算機教育,2005,5.
第三篇:嵌入式論文總結(jié)
嵌入式論文總結(jié)
所謂嵌入式系統(tǒng)(Embedded Systems).實際上是“嵌入式計算機系統(tǒng)”的簡稱,它是相對于通用計算機系統(tǒng)而言的。在有些系統(tǒng)里也有計算機,但是計算機是作為某個專用系統(tǒng)中的一個部件而存在的。像這樣“嵌入”到更大、專用的系統(tǒng)中的計算機系統(tǒng),稱之為“嵌入式計算機”、“嵌入式計算機系統(tǒng)”或“嵌入式系統(tǒng)”。
在日常生活中,早已存在許多嵌入式系統(tǒng)的應(yīng)用,如天天必用的移動電話、帶在手腕上的電子表、烹調(diào)用的微波爐、辦公室里的打印機、汽車里的供油噴射控制系統(tǒng)和防抱死剎車系統(tǒng)(ABS).以及現(xiàn)在流行的個人數(shù)字助理(PDA)、數(shù)碼相機、數(shù)碼攝像機等等,它們內(nèi)部都有一個中央處理器CPU。
嵌入式系統(tǒng)無處不在,從家庭中的洗衣機、電冰箱、小汽車,到辦公室中的遠程會議系統(tǒng)等,都屬于可以使用嵌入式技術(shù)進行開發(fā)和改造的產(chǎn)品。嵌入式系統(tǒng)本身是一個相對模糊的定義,一個手持的MP3和一個P(:104的微型工業(yè)控制計算機都可以認為是嵌入式系統(tǒng)。根據(jù)英國電氣工程師協(xié)會(IEE)的定義:嵌入式系統(tǒng)是用來控制或監(jiān)視機器、裝置或工廠等大規(guī)模系統(tǒng)的設(shè)備??梢钥闯龃硕x是扶應(yīng)用上考慮的,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機電等附屬裝置。國內(nèi)對嵌入式系統(tǒng)的一般定義是:以應(yīng)用為中心.以計算機技術(shù)為基礎(chǔ),軟硬件可裁剪,從而能夠適應(yīng)實際應(yīng)用中對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統(tǒng)。
嵌入式系統(tǒng)在應(yīng)用數(shù)量上遠遠超過了各種通用計算機。一臺通用計算機的外部設(shè)備中就包含了5~10個嵌入式微處理器,鍵盤、硬盤、顯示器、Modem、網(wǎng)卡、聲卡、打印機、掃描儀、數(shù)碼相機、集線器等均是由嵌入式處理器進行控制的。在制造工業(yè)、過程控制、通信、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費類產(chǎn)品等方面,嵌入式系統(tǒng)都有用武之地。在大型嵌入式應(yīng)用系統(tǒng)中,為了使嵌入式開發(fā)更方便、快捷,需要具備一種穩(wěn)定、安全的軟件模塊集合,用來管理存儲器分配、中斷處理、任務(wù)間通信和定時器響應(yīng),以及提供多任務(wù)處理等,這樣的軟件模塊集合就是嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)的引入大大擴展了嵌入式系的功能,方便了應(yīng)用軟件的設(shè)計,但同時也占用了嵌入式系統(tǒng)的寶貴資源。一般在比較大型或多任務(wù)的應(yīng)用場合.才考慮使用嵌入式操作系統(tǒng)。
早期的嵌入式系統(tǒng)幾乎都用于控制,或多或少都有些實時要求,所以從前“嵌入式操作系統(tǒng)”實際上是“實時操作系統(tǒng)”的代名詞。近年來,由于手持式計算機和掌上電腦等設(shè)備的出現(xiàn),也有了許多不帶實時要求的嵌入式系統(tǒng)。另一方面,由于C:PU速度的提高,一些原先被認為是“實時”的反應(yīng)速度現(xiàn)在已經(jīng)很普遍了,以前需要在“實時操作系統(tǒng)”上才能實現(xiàn)的應(yīng)用,現(xiàn)在己不難在常規(guī)的操作系統(tǒng)上實現(xiàn)。在這樣的背景下,“嵌入式操作系統(tǒng)”和“實時操作系統(tǒng)”就成了不同的概念和名詞
嵌入式系統(tǒng)是應(yīng)用于特定環(huán)境下、面對專業(yè)領(lǐng)域的應(yīng)用系統(tǒng),不同于通用計算機系統(tǒng)的多樣化和適用性。它與通用計算機系統(tǒng)相比具有以下特點:
(l)嵌入式系統(tǒng)通常是面向特定應(yīng)用的,一般都有實時要求。嵌入式處理器大多工作在為特定用戶群所設(shè)計的系統(tǒng)中,通常具有功耗低、體積小、集成度高、成本低等特點,從而使嵌入式系統(tǒng)的設(shè)計趨于小型化、專業(yè)化,同時移動能力大大增強,與網(wǎng)絡(luò)的耦合也越來越緊密。
(2)嵌入式系統(tǒng)是將先進的計算機技術(shù)、半導體工藝、電子技術(shù)和通信網(wǎng)絡(luò)技術(shù)與各領(lǐng)域的具體應(yīng)用相結(jié)合的產(chǎn)物。這一特點決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。
(3)嵌入式系統(tǒng)與具體應(yīng)用有機地結(jié)合在一起,其升級換代也與具體產(chǎn)品同步進行。因此,嵌入式系統(tǒng)產(chǎn)品一旦進入市場,一般具有較長的生命周期。
(4)嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計,在保證穩(wěn)定、安全、可靠的基礎(chǔ)上,量體裁衣,去除冗余,力爭在同樣的硅片面積上實現(xiàn)更高的性能。這樣,才能最大限度地降低應(yīng)用成本。在縣體應(yīng)用中,對處理器的選擇決定了產(chǎn)品的市場競爭力。(5)嵌入式系統(tǒng)常常還有減小功耗的要求。這一方面是為了省電,因為嵌入式系統(tǒng)往往以電池供電;另一方面是要減少發(fā)熱量,因為嵌入式系統(tǒng)中常常沒有風扇等排熱手段。
(6)可靠性與穩(wěn)定性對于嵌入式系統(tǒng)有著特別重要的意義,所以即使邏輯上的系統(tǒng)結(jié)構(gòu)相同,在物理組成上也會有所不同。由于對所用元器件(包括接插件、電源等等)的質(zhì)量和可靠性要求都比較高,所以元器件的平均無故障時間MTBF-(Mean Time Between F-ailure)成為關(guān)鍵性的參數(shù)。此外,環(huán)境溫度也是需要重點考慮的參數(shù)。
嵌入式系統(tǒng)以應(yīng)用為中心,強調(diào)體積和功能的可裁剪性,是以完成控制、監(jiān)視等功能為目標的專用系統(tǒng)。在嵌入式應(yīng)用系統(tǒng)中.執(zhí)行任務(wù)的軟硬件都嵌入在實際的設(shè)備環(huán)境中,通過專門的I/()接口和外界交換信息。它們執(zhí)行的任務(wù)程序一般不由用戶編制。
嵌入式系統(tǒng)主要用于各種信號處理與控制,目前己在國防、國民經(jīng)濟及社會生活各領(lǐng)域普遍應(yīng)用操作系統(tǒng)OS(Operation Systems)是一組計算機程序的集合,用來有效地控制和管理計算機的硬件和軟件資源,即合理地對資源進行調(diào)度,并為用戶提供方便的應(yīng)用接口。它為應(yīng)用ARM9嵌入式系統(tǒng)設(shè)支持軟件提供運行環(huán)境,即為程序開發(fā)者提供功能強、使用方便的開發(fā)環(huán)境。
從資源管理的角度,操作系統(tǒng)主要包含如下功能。1.處理器管理
對處理器進行分配,并對其運行進行有效的控制和管理。在多任務(wù)環(huán)境下,合理分配由任務(wù)共享的處理器,使CPU能滿足各程序運行的需要,提高處理器的利用率,并能在恰當?shù)臅r候收回分配給某任務(wù)的處理器。處理器的分配和運行都是以進程為基本單位進行的,因此對處理器的管理可以歸結(jié)為對進程的管理,包括進程控制、進程同步、進程通信、作業(yè)調(diào)度和進程調(diào)度等。2.存儲器管理
存儲器管理的主要任務(wù),是為多道程序的運行提供良好的環(huán)境,包括內(nèi)存分配、內(nèi)存保護、地址映射、內(nèi)存擴充等。例如,為每道程序分配必要的內(nèi)存空間,使它們各得其所,且不致因互相重疊而丟失信息;不因某道程序出現(xiàn)異常情況而破壞其他程序的運行;方便用戶使用存儲器;提高存儲器的利用率;能從邏輯上來擴充內(nèi)存等。3.設(shè)備管理
完成用戶提出的設(shè)備請求,為用戶分配l/()設(shè)備;提高C.PU和l/()的利用率;提高l/()速度.方便用戶使用l/()設(shè)備。設(shè)備管理包括緩沖管理、設(shè)備分配、設(shè)備處理、形成虛擬邏輯設(shè)備等。4.文件管理
在計算機中,大量的程序和毅據(jù)是以文件的形式存放的。文件管理的主要任務(wù)就是對系統(tǒng)文件和用戶文件進行管理,方便用戶的使用,保證文件的安全性。文件管理包括對文件存儲空間的管理、目錄管理、文件的讀/寫管理以及文件的共享與保護等。
5.用戶接口
用戶與操作系統(tǒng)的接口是用戶能方便地使用操作系統(tǒng)的關(guān)鍵所在。用戶通常只需以命令形式和系統(tǒng)調(diào)用即程序接口形式與系統(tǒng)打交道。使用圖形用戶接口(GUI).可以將文字、圖形和圖像集成在一起,用非常容易識別的圖標將系統(tǒng)的各種功能、應(yīng)用程序和文件直觀地表示出來,用戶可以通過鼠標來獲取操作系統(tǒng)的服務(wù)。
隨著l_inux的迅速發(fā)展,嵌入式Linux現(xiàn)在已經(jīng)有許多版本,包括強實時的嵌入式Linux(如新墨西哥工學院的RT-I_inux和堪薩斯大學的KURT-I_inux)和一般的嵌入式Linux(如riClinux和Pocket I。lnux等)。其中.RT-Iinux通過把通常的Iinux任務(wù)優(yōu)先級設(shè)為最低,而所有的實時任務(wù)的優(yōu)先級都高于它,以達到既兼容通常的I。Inux任務(wù)又保證強實時性能的目的。另一種常用的嵌入式Linux是riClinux.它是針對沒有MMU的處理器而設(shè)計的。它不能使用處理器的虛擬內(nèi)存管理技術(shù),對內(nèi)存的訪問是直接的,所有程序中訪問的地址都是實際的物理地址。它專為嵌入式系統(tǒng)做了許多小型化的工作。
嵌入式系統(tǒng)與通用計算機在以下幾個方面有比較明顯的差別: 1.人機交互界面
嵌入式系統(tǒng)和通用計算機之間的最大區(qū)別就在于人機交互界面。嵌入式系統(tǒng)可能根本就不存在鍵盤、顯示器等設(shè)備,它所完成的事情也可能只是監(jiān)視網(wǎng)絡(luò)情況或者傳感器的變化情況,并按照事先規(guī)定好的過程及時完成相應(yīng)的處理任務(wù)。2.有限的功能
嵌入式系統(tǒng)的功能在設(shè)計時已經(jīng)定制好,在開發(fā)完成投入使用之后就不再變化。系統(tǒng)將反復執(zhí)行這些預定好的任務(wù),而不像通用計算機那樣可以隨時運行新任務(wù)。雖然嵌入式操作系統(tǒng)可以添加新的任務(wù),刪除舊的任務(wù),但這樣的變化對嵌入式系統(tǒng)而言是關(guān)鍵性變化,有可能會對整個系統(tǒng)行為產(chǎn)生影響。3.時間關(guān)鍵性和穩(wěn)定性
嵌入式系統(tǒng)可能要求實時響應(yīng),具有嚴格的時序性。同時,嵌入式系統(tǒng)還要求有非??煽康姆€(wěn)定性。其工作環(huán)境可能非常惡劣,如高溫、高壓、低溫、潮濕等,這就要求在設(shè)計時考慮目標系統(tǒng)的工作環(huán)境,合理選擇硬件和保護措施。軟件穩(wěn)定也是一個重要特征。軟件系統(tǒng)需要經(jīng)過反復測試,達到預先規(guī)定的要求才能真正投入使用。
嵌入式軟件的開發(fā)與傳統(tǒng)軟件的開發(fā)有許多共同點,它繼承了許多傳統(tǒng)軟件的開發(fā)習慣。由于嵌入式軟件運行于特定昀目標應(yīng)用環(huán)境,而該目標環(huán)境只針對特定的應(yīng)用領(lǐng)域,所以嵌入式軟件的功能比較專一,只完成預期要完成的功能。出于對系統(tǒng)成本方面的考慮,應(yīng)用系統(tǒng)的C:PU、存儲器、通信資源都恰到好處。嵌入式軟件的開發(fā)具有其自身的特點:
在Iinux的發(fā)展歷程中.Unix和Minix扮演著十分重要的角色。1990年,芬蘭人Unus 'ror-valds在赫爾辛基大學接觸到Unix;但是當時上機學習要排隊等候很長時間,所以I。inus購買了自己的PC機,希望安裝一個類似的操作系統(tǒng)。由于Unix的內(nèi)核代碼不容易得到,所以他安裝了Minix。Minix是一個基于微內(nèi)核技術(shù)的類似于Unix的操作系統(tǒng),是Andrew Tanebaum教授利用業(yè)余時間開發(fā)的用于教學的操作系統(tǒng)。當時.Minix并不是完全免費的,而且Andrew Tane-baum教授不允許別人為Minix再加入其他東西,目的是為了教學的簡明扼要。
第四篇:嵌入式課程論文
研究生課程論文
論文題目: 無線傳感網(wǎng)絡(luò)中的定位算法綜述
學 院: 信息科學技術(shù)學院 專 業(yè): 儀器儀表工程
班 級: 81430 學 號: 8143035 學生姓名:
沈天穎
二○一五 年 一 月 十 日
無線傳感器網(wǎng)絡(luò)(WSN)是一個多學科的研究領(lǐng)域,具有很廣泛的應(yīng)用前景,其中,WSN的定位是非常重要的研究方向。本課程論主要對WSN定位研究進行了歸納和總結(jié)。將每種定位算法按照需不需要測距分為兩大類,而且在具體算法中討論了其以下幾個特征,包括:需要/不需要錨節(jié)點、集中式/分布式、固定/移動等。
質(zhì)心定位算法
DV-Hop算法
MDS-MAP算法
分簇算法
改進的無線傳感器網(wǎng)絡(luò)節(jié)點定位算法
第五篇:實驗四 Nios II 嵌入式處理器關(guān)浩亮2012029180002
關(guān)浩亮2012029180002 實驗四 Nios II 嵌入式處理器
一、實驗要求:
1、實現(xiàn)一個由Nios II控制的由18個發(fā)光二級管組成的流水燈效果;
2、為了點亮LED燈,程序運行速度不要太快,需要進行適當延時。
二、實驗?zāi)康模?/p>
1,掌握基于SOPC Builder和Nios SBT實現(xiàn)嵌入式系統(tǒng)的硬件、軟件設(shè)計過程; 2,學會根據(jù)需求定制一個Nios II硬件系統(tǒng),并在此基礎(chǔ)上編寫應(yīng)用程序。
三、實驗原理和實驗內(nèi)容:
1、SOPC技術(shù)
SOPC(System On a Programmable Chip)是指用可編程邏輯技術(shù)把整個系統(tǒng)放到一塊硅片上。它是一種特殊的嵌入式系統(tǒng)。一方面,它是片上系統(tǒng)(SOC),即由單個芯片完成整個系統(tǒng)的主要邏輯功能;另一方面,它是可編程系統(tǒng),具有靈活的設(shè)計方式,可裁減、擴充、升級,并具備軟硬件在系統(tǒng)可編程的功能。這項技術(shù)將EDA、計算機設(shè)計、嵌入式系統(tǒng)、DSP等技術(shù)融為一體。SOPC 結(jié)合了SOC 和PLD、FPGA 各自的優(yōu)點,一般具備以下基本特征:至少包含一個嵌入式處理器內(nèi)核;具有小容量片內(nèi)高速RAM 資源;豐富的IP Core 資源可供選擇;足夠的片上可編程邏輯資源;處理器調(diào)試接口和FPGA 編程接口;可包含部分可編程模擬電路;單芯片,低功耗,微封裝。
隨著EDA 技術(shù)的發(fā)展和大規(guī)??删幊唐骷阅艿牟粩嗵岣撸琒OPC 技術(shù)已被廣泛應(yīng)用于許多領(lǐng)域。首先,SOPC 在極大提高了許多電子系統(tǒng)性能價格比的同時,還開辟了許多新的應(yīng)用領(lǐng)域,如高端的數(shù)字信號處理、通信系統(tǒng)、軟件無線電系統(tǒng)的設(shè)計、微處理器及大型計算機處理器的設(shè)計等等;同時,由于SOPC 具有基于EDA 技術(shù)標準的設(shè)計語言與系統(tǒng)測試手段、規(guī)范的設(shè)計流程與多層次的仿真功能以及高效率的軟硬件開發(fā)與實現(xiàn)技術(shù),使得SOPC 及其實現(xiàn)技術(shù)無可爭議地成為現(xiàn)代電子技術(shù)最具時代特征的典型代表。與基于ASIC 的SOC 相比,SOPC 具有更多的特點與吸引力:開發(fā)軟件成本低,硬件實現(xiàn)風險低,產(chǎn)品上市效率高,系統(tǒng)結(jié)構(gòu)可重構(gòu)及硬件可升級等,它還具有設(shè)計者易學易用、高附加值、產(chǎn)品設(shè)計成本低等優(yōu)勢。
關(guān)浩亮2012029180002 Nios II是Altera公司推出的新一代軟核嵌入式處理器。借助于Nios II、FPGA和Altera公司完整的開發(fā)套件,可以快速實現(xiàn)設(shè)計和驗證,有效提高系統(tǒng)性能。
2、基于Nios II的硬件開發(fā)基本過程
(1)定義NiosⅡ嵌入式處理器系統(tǒng):使用SOPC Builder系統(tǒng)綜合軟件選取合適的CPU、存儲器以及外圍器件,并定制其功能。
(2)指定目標器件、分配引腳、編譯硬件:使用QuartusⅡ選取Altera器件系列,并對SOPC Builder生成的HDL設(shè)計文件進行布局布線;再選取目標器件,分配管腳,進行硬件編譯選項或時序約束的設(shè)置。編譯,生成網(wǎng)表文件和配置文件。
(3)硬件下載:使用QuartusⅡ軟件和下載電纜,將配置文件下載到開發(fā)板上的FPGA中。
3、基于Nios II的軟件開發(fā)基本過程
(1)在使用SOPC Builder/Qsys進行硬件設(shè)計的同時,就可以開始編寫?yīng)毩⒂谄骷腃/C++軟件,比如算法或控制程序。用戶可以使用現(xiàn)成的軟件庫和開放的操作系統(tǒng)內(nèi)核來加快開發(fā)過程。
(2)在NiosⅡSBT中建立新的軟件工程時,SBT會根據(jù)SOPC Builder/Qsys對系統(tǒng)的硬件配置自動生成一個定制HAL(硬件抽象層)系統(tǒng)庫。這個庫能為程序和底層硬件的通信提供接口驅(qū)動程序。
(3)使用NiosⅡSBT對軟件工程進行編譯、調(diào)試。
(4)將硬件設(shè)計下載到開發(fā)板后,就可以將軟件下載到開發(fā)板上并在硬件上運行。
4、基于Nios II的流水燈實現(xiàn)
在Nios II處理器定制完成后,編寫程序控制與發(fā)光二極管相連的引腳電平,循環(huán)點亮每一個發(fā)光二極管,同時熄滅其它二極管,實現(xiàn)簡單的流水燈效果。其基本結(jié)構(gòu)如下圖所示:
關(guān)浩亮2012029180002 CLKPIO_0PIO_1LED_0LED_1CPURESETPIO_171.圖中,CLK為CPU的運行時鐘;RESET為CPU的復位信號,一般與電源VCC相連,當系統(tǒng)上電時自動完成處理器的復位;并行I/O引腳PIO_0~PIO_17分別與發(fā)光二極管相連,用于控制二極管的發(fā)光和熄
??LED_17四.實驗設(shè)計及仿真波形結(jié)果:
硬件設(shè)計步驟為:(1)(2)創(chuàng)建QuartusⅡ工程
Nios II 軟核配置:啟動SOPC Builder,對系統(tǒng)進行命名,添加Nios II Processor,經(jīng)濟型內(nèi)核“Nios II/e”,JTAG Debug Module配置,配置存儲器,配置并行I/O口,(3)完成硬件設(shè)計:完成Nios II 軟核配置后,回到Quartus II ; ? 在原理圖編輯窗口中單擊鼠標右鍵將打開一個浮動菜單,選擇“Insert→Symbol”命令打開電路符號“Symbol”選擇對話框,或者雙擊原理圖空白處。在對話框左側(cè)的“Libraries”選擇欄中選擇Project下的“Nios2WalLd”,右邊的符號窗口將出現(xiàn)對應(yīng)的電路符號。這個模塊就是SOPC Builder工具產(chǎn)生的Nios II軟核處理器系統(tǒng)。
? Nios II軟核處理器系統(tǒng)引腳“clk_50”應(yīng)該與時鐘輸入連接; 復位信號輸入端“reset_n”與電源符號“VCC”連接,當芯片上電時自動完成
關(guān)浩亮2012029180002 處理器的復位;引腳“pio_18led[17...0]”分別與18個發(fā)光二級管連接。
? 執(zhí)行命令Assignments->Import Assignments?導入板載FPGA的引腳分配文件DE2_115_pin_assignments.csv,并正確命名原理圖上的引腳名,使之與正確引腳一一對應(yīng)。? 正確編譯。軟件設(shè)計步驟為:
Nios II嵌入式開發(fā)環(huán)境的軟件開發(fā)工作需要前面產(chǎn)生的Nios II軟核處理器系統(tǒng)硬件的支持。在SOPC Builder的“System Generation”選項卡的“Nios II Tools”欄目中單擊“Nios II Software Builder Tools for Eclipse”按鈕可以打開Nios II SBT開發(fā)平臺。Nios II SBT工程建立 :
在Quartus工程目錄下,建立“software”文件夾;
File->Switch Workspce->Other?,切換為上述“software”文件夾 建立項目
Nios II SBT工程設(shè)置 :
選擇Quartus工程目錄下的SOPC Information File,設(shè)定項目名,并選擇參考模板中的“Blank_project”,會自動載入相關(guān)信息。C源程序設(shè)計: File→New→Source File 編譯:
“Project→Build Project 編譯完成后,“console”欄目將給出儲存器的占用情況。之后硬件下載,然后調(diào)試/運行程序。C語言程序代碼為:
關(guān)浩亮2012029180002 #include “system.h” #include “altera_avalon_pio_regs.h” void delay(void);int alt_main(void){
} void delay(void){ unsigned int i;i=1000000;unsigned char led_data;unsigned int led_code;while(1){
IOWR_ALTERA_AVALON_PIO_DATA(PIO_18LED_BASE,led_code);
} return 0;} delay();for(led_data=0;led_data<18;led_data++){ led_code = 0x001< 關(guān)浩亮2012029180002 } while(i>0){ } i--;實驗板仿真結(jié)果如下: 關(guān)浩亮2012029180002 關(guān)浩亮2012029180002 關(guān)浩亮2012029180002 實驗結(jié)果分析: 在實驗板上,正確顯示了流水燈依次點亮的實驗現(xiàn)象,圖示為流水燈依次點亮間隔時間的圖像結(jié)果,滿足實驗要求,該實驗成功的完成了。 五、問題及思考: 1、如何通過軟件設(shè)計,將實驗中的簡單流水燈效果設(shè)計得更加多樣化? 在while循環(huán)語句中添加下面的程序段: for(led_data=0;led_data<18;led_data++) IOWR_ALTERA_AVALON_PIO_DATA(PIO_18LED_BASE,led_code);} { led_code =led_data>>0x001;delay(); 關(guān)浩亮2012029180002 可實現(xiàn)左右來回循環(huán)的流水燈,增加流水燈的設(shè)計效果。 2、如果將流水燈效果用實驗板上的LCD來實現(xiàn),硬件和軟件上應(yīng)該做哪一些修改? LCD為液晶顯示屏,在硬件上需要將顯示屏的按鍵連接到原理圖的輸入輸出上。在軟件中,要將液晶屏初始化,并添加按鍵實現(xiàn)燈亮的程序塊。 六,心得體會: 本實驗完成了流水燈的實現(xiàn),根據(jù)課件的實驗步驟內(nèi)容,基本掌握了基于SOPC Builder和Nios SBT實現(xiàn)嵌入式系統(tǒng)的硬件、軟件設(shè)計過程;學會了根據(jù)需求定制一個Nios II硬件系統(tǒng),并在此基礎(chǔ)上編寫應(yīng)用程序。程序需用C語言來寫,利用已有的Nios II嵌入式處理器實現(xiàn)了簡單的流水燈依次點亮的實驗。本實驗使我明白了如何利用已設(shè)計好的嵌入式處理器來實現(xiàn)所需的具體實驗。