2010-第1章嵌入式概述-01.ppt_第1頁
2010-第1章嵌入式概述-01.ppt_第2頁
2010-第1章嵌入式概述-01.ppt_第3頁
2010-第1章嵌入式概述-01.ppt_第4頁
2010-第1章嵌入式概述-01.ppt_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

曲鳳娟,1,嵌入式系統(tǒng)基礎(chǔ),李建義 Email: 公共郵箱: student_ 密碼 : student_ljy,The future is Embedded, embedded is the future,2,課程簡介,總學(xué)時48學(xué)時,其中實驗12學(xué)時(6次),1-12周。 課程性質(zhì):考試課 實驗安排:實驗分三組進行。 第一組:1班+2班=43人 第二組:3班+5班=43人 第三組:4班+6班=42人 每個班選一個嵌入式基礎(chǔ)組長(課代表) 答疑時間:每周三下午4:00-5:30,周四2:00-4:00 地點:計算機應(yīng)用教研室、科研室、嵌入式機房,3,課程目標,理解Arm體系結(jié)構(gòu) 熟悉Arm集成開發(fā)環(huán)境:ADS1.2 掌握Arm系統(tǒng)編程技術(shù)(C語言與匯編語言的互相調(diào)用) 熟悉S3C2440微處理器,學(xué)會閱讀數(shù)據(jù)手冊。 熟悉S3C2440的外圍接口:存儲器、I/O接口、串口編程、中斷、定時器、LCD控制器等。 后續(xù)課程:嵌入式操作系統(tǒng)、嵌入式應(yīng)用程序開發(fā),4,參考資料,范圣一,ARM原理與嵌入式系統(tǒng)實戰(zhàn),機械工業(yè)出版社 ARM體系結(jié)構(gòu)與編程,杜春雷,清華大學(xué)出版社 ARM應(yīng)用系統(tǒng)開發(fā)詳解,李駒光 Arm公司電子手冊 ARM Architecture Reference Manual ARM Program Tecgniques ARM ADS隨帶各種手冊 /documentation/,5,第1章 概述,1.1 嵌入式系統(tǒng)簡介 1.2 嵌入式系統(tǒng)組成 1.3 嵌入式系統(tǒng)與PC機 1.4 嵌入式系統(tǒng)研發(fā)過程及ADS開發(fā)環(huán)境 小結(jié),6,1.1 嵌入式系統(tǒng)簡介,1. 嵌入式系統(tǒng)的定義 2. 嵌入式系統(tǒng)的特點 3. 嵌入式系統(tǒng)的應(yīng)用,7,1.1.1 嵌入式系統(tǒng)的定義,1.“嵌入式系統(tǒng)”的全稱應(yīng)為“嵌入式計算機系統(tǒng)” 2.“嵌入”是指將一物“置入”另一物中 3. “嵌入式系統(tǒng)”是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng),8,后PC時代-豐富的嵌入式產(chǎn)品市場,9,典型例子 手機,10,典型例子 PDA,11,1.1.2 嵌入式系統(tǒng)的特點,1.嵌入式系統(tǒng)通常是面向特定應(yīng)用的 2.技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng) 3.硬件和軟件都必須高效率地設(shè)計 4.產(chǎn)品一旦進入市場,具有較長的生命周期 5.軟件一般都固化,12,1.1.2 嵌入式系統(tǒng)的特點,6.不具備自舉開發(fā)能力,需要開發(fā)工具和交叉開發(fā)環(huán)境 硬件開發(fā)工具:仿真器等 ;其它(示波器等)。 軟件開發(fā)工具:編譯、連接、定位軟件;常使用C語言;調(diào)試軟件。,13,1.1.3 嵌入式系統(tǒng)的應(yīng)用,包括工業(yè)控制、交通管理、信息家電、家庭智能管理系統(tǒng)及電子商務(wù)、環(huán)境監(jiān)測和機器人。 ARM技術(shù)的IP核在下列領(lǐng)域已取得了很大成功: 無線設(shè)備無線設(shè)備(手機等)和PDA一類的無線設(shè)備中都采用了嵌入式技術(shù)。 消費電子在數(shù)字音頻播放器、數(shù)字機頂盒和游戲機等應(yīng)用廣泛。 汽車包括駕駛、安全和車載娛樂等各種功能在內(nèi)的設(shè)備采用五、六個微處理器統(tǒng)一實現(xiàn)。 家用方面數(shù)字電視、信息家電、智能玩具、手持通訊、存儲設(shè)備的核心。,14,嵌入式系統(tǒng)的應(yīng)用領(lǐng)域示意圖,嵌入式應(yīng)用,信息家電,智能玩具,軍事電子,通信設(shè)備,移動存貯,工控設(shè)備,智能儀表,汽車電子,網(wǎng)絡(luò)設(shè)備,消費電子,軍事國防,電子商務(wù),網(wǎng)絡(luò),工業(yè)控制,goReader Internet eBook,Samsung AnyWeb Internet Screen Phone,eRemote Intelligent Home Controller,Tektronix TDS7000 Digital Oscilloscopes,Nixvue Digital Album Digital Photo Album,一些典型的嵌入式系統(tǒng)應(yīng)用實例,16,家用方面:數(shù)字電視、信息家電、智能玩具、手持通訊、存儲設(shè)備的核心。,16,17,家庭智能管理系統(tǒng):社區(qū)建筑的水、電、煤氣表的遠程自動抄表,安全防火、防盜系統(tǒng),遠程點菜器等。,17,18,社會發(fā)展方面:嵌入式Internet應(yīng)用,18,19,汽車電子產(chǎn)品(18個嵌入式控制模塊)CAN總線網(wǎng)絡(luò),VOLVO S80汽車的CAN總線網(wǎng)絡(luò),嵌入式應(yīng)用汽車電子,19,20,2002年11月28日,以色列一選舉投票點,發(fā)生槍擊事件,造成至少7人死亡,數(shù)十人受傷。以警方用機器人在檢查一具巴勒斯坦槍手的尸體。,反恐防暴,21,嵌入式系統(tǒng)的應(yīng)用舉例,嵌入式系統(tǒng)的應(yīng)用舉例,21,22,事實上,嵌入式技術(shù)無處不在,計算機技術(shù)也開始進入一個被稱為后PC技術(shù)的春天。 嵌入式系統(tǒng)雖然是未來計算機科學(xué)的最重要成員,但它并不能作為通用計算機的替代物。原因就是它的專用性。比如資源有限(存儲能力、運算能力和I/O資源),沒有非常友好的人機交互界面等。,23,1.2 嵌入式系統(tǒng)組成,1.硬件組成 2.軟件組成 3.舉例,24,存儲器,嵌入式處理器,外圍接口,輸出設(shè)備,軟件,輸入設(shè)備,主要有LCD 顯示和語音輸出,硬件單元,按存儲信息的功能可分為只讀存儲器ROM(Read Only Memory)和隨機存儲器RAM(Random Access Memory),主要有GPIO、串口、I2C總線、USB總線和IEEE 1394總線等等,硬件組成 (1)硬件模塊及功能,是嵌入式系統(tǒng)的核心,負責控制整個系統(tǒng)的執(zhí)行??梢允俏⑻幚砥?、微控制器、DSP處理器、專用處理器、SOC,嵌入式系統(tǒng)中的輸入形式一般包括觸摸屏、語音輸入、按鍵和虛擬鍵盤,包括嵌入式操作系統(tǒng)、應(yīng)用軟件,25,26,(2)常用嵌入式處理器,ARM PowerPC MIPS Xscale DSP X86,27,2.軟件組成 (1)軟件層次與功能,位于操作系統(tǒng)和應(yīng)用軟件之間,屏蔽了各種操作系統(tǒng)提供不同應(yīng)用程序接口的事實,向應(yīng)用程序提供統(tǒng)一的接口,從而便于用戶開發(fā)應(yīng)用程序,同時也使應(yīng)用程序具有跨平臺的特性。,有時也叫板級支持包,是一個介于硬件與軟件之間的中間層次。硬件抽象層通過特定的上層接口與操作系統(tǒng)進行交互,向操作系統(tǒng)提供底層的硬件信息,并根據(jù)操作系統(tǒng)的要求完成對硬件的直接操作,支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件, 是嵌入式系統(tǒng)極為重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標準化瀏覽器Browser等,運行于操作系統(tǒng)之上,利用操作系統(tǒng)提供的機制完成特定功能,因系統(tǒng)不同而不同,是整個系統(tǒng)功能的體現(xiàn)。一個嵌入式系統(tǒng)可簡單到?jīng)]有支撐軟件,甚至沒有操作系統(tǒng),但卻不能沒有應(yīng)用軟件,否則它就不能成為一個系統(tǒng)。,28,(2)常見的嵌入式操作系統(tǒng),LINUX: 開源,由很多體積小性能高的微內(nèi)核系統(tǒng)組成;網(wǎng)絡(luò)功能強大,支持多文件系統(tǒng);硬件支持廣泛;非實時;占用較多存儲器;圖形界面和集成開發(fā)環(huán)境有待提高 WINCE: 部分開源,良好的圖形界面。多線程,多任務(wù),內(nèi)核200KB以上,非實時 uCOSII:實時,可移植、可固化、可裁剪、可剝奪型多任務(wù)內(nèi)核。,29,VxWorks: 實時,可靠性高,系統(tǒng)開銷小,系統(tǒng)共用程序精煉有效,延遲很短。使用最廣,支持多種處理器,大多數(shù)API專有。 Nucleus: 實時,購買Licenses得源碼,免產(chǎn)品版稅,不用寫B(tài)SP。 QNX:實時,30,3.嵌入式系統(tǒng)組成舉例,(1)交通燈模擬系統(tǒng) 硬件系統(tǒng):嵌入式處理器存儲器LED接口 軟件系統(tǒng):硬件初始化程序交通燈應(yīng)用程序 (2)遠程監(jiān)控系統(tǒng) 硬件系統(tǒng):嵌入式處理器存儲器語音模塊各類傳感器GPRS模塊報警裝置接口 軟件系統(tǒng):引導(dǎo)程序嵌入式操作系統(tǒng)內(nèi)核文件系統(tǒng)各個應(yīng)用程序,1.3 嵌入式系統(tǒng)與PC機,1.硬件,2.軟件,33,3.嵌入式軟件開發(fā)與PC機軟件開發(fā)的差異,程序編譯和執(zhí)行處于不同的兩個平臺 輸入及輸出界面不同 可利用的資源有限 經(jīng)常與硬件打交道,34,問題:如何設(shè)計嵌入式系統(tǒng)?,如何選擇硬件? 選擇多快的CPU?多大的內(nèi)存? 如何滿足任務(wù)的實時性要求? 通過更快的硬件還是改善軟件?成本如何估算? 如何最小化功耗需求? 關(guān)掉不必要的邏輯單元?減少內(nèi)存訪問的次數(shù)? 設(shè)計出的產(chǎn)品是否可以正常工作? 需求規(guī)定是否正確? 實現(xiàn)是否滿足需求規(guī)定? 如何測試滿足實時性要求?,35,1.4 嵌入式系統(tǒng)研發(fā)過程及ADS開發(fā)環(huán)境,1.嵌入式系統(tǒng)設(shè)計方法 2.嵌入式系統(tǒng)開發(fā)基礎(chǔ)流程 3.ADS開發(fā)環(huán)境,36,1.4.1 嵌入式系統(tǒng)設(shè)計方法,需求 功能要求:作為輸入輸出的函數(shù) 非功能要求 性能、成本、功耗 物理尺寸 規(guī)格說明(做什么) 需求細化 概念性規(guī)格說明 詳細的規(guī)格說明 體系結(jié)構(gòu)設(shè)計(如何做) 軟硬件構(gòu)件 系統(tǒng)集成,37,1.4.2 系統(tǒng)開發(fā)基礎(chǔ)流程(1),第一步:功能與需求分析 確定整個系統(tǒng)功能和構(gòu)架 根據(jù)需求選擇所需軟、硬件平臺 第二步:設(shè)計硬件平臺 芯片選擇 原理圖制作 PCB制作、電路板焊接 第三步:開發(fā)環(huán)境選擇 開發(fā)平臺、編譯器、連接器、定位器或是由軟件廠商提供的整合開發(fā)環(huán)境 (IDE) 其他問題,如: 宿主機與目標機連接通訊(一般是RS232) 鏡像文件(image)下載,C,編譯器,目的文件,連接器,可重定位器程序,定位器,可執(zhí)行文件,C,編譯器,目的文件,目的文件,編譯器,匯編語言,編譯器:交叉編譯器(Cross Compiler),定位器:重新定位(Relocation),39,1.4.2 系統(tǒng)開發(fā)基礎(chǔ)流程(2),第四步:軟件開發(fā) 嵌入式開發(fā)環(huán)境的搭建 嵌入式操作系統(tǒng)的選擇 BootLoader的編寫 操作系統(tǒng)的移植 文件系統(tǒng)的移植 驅(qū)動程序編寫 應(yīng)用程序編寫,40,1.4.2 系統(tǒng)開發(fā)基礎(chǔ)流程(3),第五步:調(diào)試,除錯(debug) 嵌入式系統(tǒng)的調(diào)試較復(fù)雜 目標機通常沒有很好的顯示或輸出能力,不是直接在目標機上寫程序 一般來說還要由除錯硬件(邏輯分析儀,ICE)來進行,硬件昂貴 如果沒有很好的除錯環(huán)境,只能依靠人力和經(jīng)驗來作測試 第六步:燒寫程序,41,附: 交叉開發(fā)在通用計算機(宿主機)上編輯、編譯程序,生成目標平臺(目標機)上可運行的二進制代碼格式指令,最后再下載到目標平臺上運行調(diào)試的開發(fā)方式。,42,交叉開發(fā)示意圖,43,1.4.3 ADS開發(fā)環(huán)境,一、安裝ADS1.2 1. 運行ADS1.2下的setup.exe. 2. 運行到選擇setup type時,選擇custom- Next-Select Components 對話框. 3. 在Select Components 對話框下,取消Application Library選項. 4. 做完上述設(shè)置后,一直按Next或,一直到ARM License Wizard 對話框,選擇Cancel鍵 - Finish ,完成安裝. 5.最后Copy license.dat 文件. 將Licence_ads1.2下的license.dat文件Copy到安裝目錄下的licenses子目錄下。,44,二、ARM Developer Suite 介 紹,ADS1.2發(fā)布于2001的12月份,是為嵌入式ARM設(shè)計的一整套軟件開發(fā)工具 從最初的軟件原型到最終優(yōu)化的ROM代碼。 支持的主機系統(tǒng) IBM compatible PCs with Windows 95, 98, 2000, ME or NT4 Sun workstations with Solaris 2.6, 2.7 or 2.8 HP workstations with HPUX 10.20, 11 Red Hat Linux 6.2 & 7.1,45,1. ADS開發(fā)環(huán)境介紹,支持最新的ARM內(nèi)核 支持V5TEJ體系結(jié)構(gòu) ARM926EJ-S, ARM9EJ-S, VFPv2 ARMulator仿真執(zhí)行Java bytecode Bytecode顯示 Jazelle 狀態(tài) 主機系統(tǒng)可支持Red Hat Linux (6.2 and 7.1) 庫管理器可合并各種庫 譯器同時輸出匯編碼和目標碼,46,1. ADS開發(fā)環(huán)境介紹,ANSI C 編譯器 - armcc and tcc ISO / Embedded C+ 編譯器 - armcpp and tcpp ARM / Thumb 匯編器 - armasm Linker - armlink Windows 集成開發(fā)環(huán)境 - CodeWarrior Debugger - AXD 格式轉(zhuǎn)換器 - fromelf,47,1. ADS開發(fā)環(huán)境介紹,庫管理器 - armar C and C+ 庫 指令級仿真 - ARMulator 同時包含 ARM Firmware Suite ARM Application Library RealMonitor,48,2. 使用ADS建立工程,運行ADS1.2集成開發(fā)環(huán)境。選擇FileNew菜單,在對話框中選擇Project,如圖11所示,新建一個工程文件。圖中示例的工程名為Exp6.mcp。點set按鈕可為該工程選擇路徑如圖所示,選中CreatFolder選項后將以圖12中的ProjectName或圖中的文件名為名創(chuàng)建目錄,這樣可以將所有與該工程相關(guān)的文件放到該工程目錄下,便于管理工程。 若設(shè)置模板,則在圖11中工程模板列表中會列出。也可選擇ARM Executable Image通用模板。,49,圖11,50,2. 使用ADS建立工程,圖12,51,2. 使用ADS建立工程,在新建的工程中,如圖1-3所示,選擇Debug版本,使用Edit | Debug Settings菜單對Debug版本進行參數(shù)設(shè)置。,圖13,52,2. 使用ADS建立工程,在Debug Settings對話框中選擇Target Settings項,如圖1-4所示。在Post-linker一欄中選擇ARM fromELF。,圖14,53,2. 使用ADS建立工程,對于2440,在Debug Settings對話框中選擇ARM Linker項,如圖1-5。在Output選項卡的Simple image框中設(shè)置連接的Read-Only(只讀)和Read-Write(讀寫)地址。地址0x30000000是開發(fā)板上SDRAM的真實地址,是由系統(tǒng)的硬件決定的;0x30200000指的是系統(tǒng)可讀寫的內(nèi)存地址。也就是說,在0x300000000x30200000之間是只讀區(qū)域,存放程序的代碼段,在 0x30200000開始是程序的數(shù)據(jù)段。,54,在Simple image 框中設(shè)置連接的Read-Only(只讀)和Read-Write(讀寫)地址。地址0x30000000是開發(fā)板上SDRAM 的真實地址,是由系統(tǒng)的硬件決定的。,55,2. 使用ADS建立工程,圖15,56,2. 使用ADS建立工程,如果選擇簡單的地址連接設(shè)置,在Debug Settings對話框中選擇ARM Linker項,如圖1-8。在Layout選項卡的Place at beginning of image框中設(shè)置程序的入口模塊。指定在生成的代碼中,程序是從2440init.s開始運行的。Object 設(shè)為2440init.o,section設(shè)為init。,57,圖18,58,2. 使用ADS建立工程,在Debug Settings對話框中選擇ARM fromELF項,如圖。在Output file name框中設(shè)置輸出文件名為system.bin,這就是要下載到開發(fā)板的嵌入式應(yīng)用程序文件。,59,圖19,60,2. 使用ADS建立工程,回到如圖1-10所示的工程窗口中,選擇Release版本,使用Edit | Release Settings菜單對Release版本進行參數(shù)設(shè)置。 參照前述各步在Release Settings對話框中設(shè)置Release版本的Post-linker、連接地址范圍、入口模塊和輸出文件。 DebugRel版本設(shè)置類似。,61,2. 使用ADS建立工程,圖110,62,2. 使用ADS建立工程,設(shè)置完成后,可以將該新建的空工程文件作為模板保存以便以后使用。將工程文件名改為2440 ARM Executable.mcp。然后在ADS1.2軟件安裝目錄下的Stationery目錄下新建名為2440 ARM Executable Image的模板目錄,再將剛設(shè)置完的2440 ARM Executable.mcp工程模板文件存放到該目錄下即可。這樣以后新建工程的時候如圖1-1所示就能看到以2440 ARM Executable Image為名字的模板了。,63,新建工程后,可以執(zhí)行菜單Project|Add Files把和工程相關(guān)的所有文件即除inti的所有文件加入到工程中。ADS1.2不能自動按文件類別對這些文件進行分類,需要的話用戶可以執(zhí)行菜單Project | Create Group創(chuàng)建文件組,然后分別將不同類的文件加入到不同的組,以方便管理。如圖1-11所示。更為簡單的辦法是,在新

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論