embedded嵌入式系統(tǒng)知識點_第1頁
embedded嵌入式系統(tǒng)知識點_第2頁
embedded嵌入式系統(tǒng)知識點_第3頁
embedded嵌入式系統(tǒng)知識點_第4頁
embedded嵌入式系統(tǒng)知識點_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1、CMD:即連接器命令文件。輸入指明輸出,描述了硬件資源中的存儲資源以及代碼、 變量、常量等與存儲空間的對應(yīng)關(guān)系。根據(jù)目標(biāo)系統(tǒng)寄存器的配置,以及用戶自定義的程序和數(shù)據(jù)的存放地址,由匯編器產(chǎn)生的 浮動地址目標(biāo)文件,生成絕對地址可執(zhí)行文件。2、CMD文件的用途: 描述配置:-0編譯后的輸出文件;-I副文件;-stack棧的大?。?heap堆的大小 描述內(nèi)存空間的分布情況開始于結(jié)束的位置far 內(nèi)容空間的分配:內(nèi)容與存儲空間對應(yīng)。內(nèi)容包括代碼、變量、常量、矢量、4、RTS6000.lib,即實時運行庫文件,保證能夠有 C語言的實時運行支撐環(huán)境5、進行性能分析測試的目的:檢驗程序是否能達到實時必要需

2、求 關(guān)注點:空間復(fù)雜度:代碼的尺寸(size)時間復(fù)雜度:調(diào)用次數(shù)、周期(單次運行時間)6、DMA:即直接存儲器訪問。其功能是在 CPU不介入下實現(xiàn)存儲器映象兩個區(qū)域之間數(shù) 據(jù)的傳輸。實現(xiàn)過程:確定使用的通道對選定通道的寄存器進行設(shè)置: 主控寄存器、源/目的地址寄存器、計數(shù)寄 存器主控寄存器只能設(shè)置(star)啟動或停止,可查詢(status)狀態(tài)(是否中斷或結(jié)束)7、線性匯編改寫的格式定義函數(shù)名稱、實現(xiàn)參數(shù)傳遞。為暫時存放臨時數(shù)據(jù)的寄存器定名,由.reg ( register完成。數(shù)據(jù)初始化。處理程序的循環(huán)體部分。首先定義一個標(biāo)號作為循環(huán)返回的標(biāo)志;之后,將循環(huán)變量1)2)3)4)vptr(

3、即count)減一;利用C6x指令的條件執(zhí)行功能通過對vptr是否為零的判斷條件執(zhí)行 跳轉(zhuǎn)指令。最后,.return實現(xiàn)數(shù)據(jù)的返回。5) 一切工作完成后,使用.endproc作為函數(shù)結(jié)束的標(biāo)志。記住變量所是的寄存器(.reg)8完整的匯編程序包括:數(shù)據(jù)初始化、子程序、復(fù)位程序、連接器命令文件9、C程序的優(yōu)化用到的方法:循環(huán)展開、內(nèi)聯(lián)函數(shù)、字訪問(強制類型轉(zhuǎn)換)1、 嵌入式系統(tǒng):以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ),軟硬件可裁剪 ,應(yīng)用系統(tǒng)對功能、 可靠性、成本、體積、功耗和應(yīng)用環(huán)境有特殊要求的專用計算機系統(tǒng)。是將應(yīng)用程序、 操作系統(tǒng)和計算機硬件集成在一起的系統(tǒng)。2、嵌入式系統(tǒng)的核心-嵌入式微處理器

4、3、嵌入式系統(tǒng)特點:功耗限制、低成本、多速率、環(huán)境相關(guān)性、系統(tǒng)內(nèi)核小、專用性強、 不可壟斷性、產(chǎn)品相對穩(wěn)定性、實時性4、實時性的本質(zhì):任務(wù)處理所花費時間的可預(yù)測性,即任務(wù)需要在規(guī)定的時限內(nèi)完成。 硬實時&軟實時:軟”意味著如果沒有滿足指定的時間約束并不會導(dǎo)致災(zāi)難性的后果, 而對于硬實時系統(tǒng)來說卻是災(zāi)難性的。5、軟實時和硬實時之間的區(qū)別一通常與系統(tǒng)的時間精度有關(guān),軟實時任務(wù)的調(diào)度精度必 須大于千分之一秒,而硬實時任務(wù)為微秒級。6、 嵌入式系統(tǒng)組成:軟件子系統(tǒng)【應(yīng)用程序、操作系統(tǒng)(協(xié)議棧)】硬件子系統(tǒng)【處理器、外圍設(shè)備(存儲器、輸入接口、輸出接口)】7、9、10、最小硬件系統(tǒng):嵌入式控制器時鐘系統(tǒng)

5、、供電系統(tǒng)(電源)、存儲器系統(tǒng)(可選)、復(fù)位及其配置系統(tǒng)、調(diào)試測試接口 (可選)嵌入式處理器分類:微處理器(Micro processor Un it,MPU)、微控制器(Microco ntroller Un it, MCU)嵌入式 DSP (Embedded Digital Signal Processor,EDSP)、片上系統(tǒng)(System On Chip, SOC)嵌入式系統(tǒng)設(shè)計主要步驟:需求分析、規(guī)格說明、結(jié)構(gòu)設(shè)計、構(gòu)件設(shè)計、調(diào)試與集成CISC:復(fù)雜指令集(尋址方式復(fù)雜)RISC 精簡指令集(Load/Store結(jié)構(gòu))具有大量的指令和尋址方式,指令長度可變 8/2原則:80%勺程序只

6、使用20%勺指令 大多數(shù)程序只使用少量的指令就能夠運行只包含最有用的指令,指令長度固定 確保數(shù)據(jù)通道快速執(zhí)行每一條指令 使CPU硬件結(jié)構(gòu)設(shè)計變得更為簡單11、 馮諾依曼體系結(jié)構(gòu):須有存儲器、控制器、運算器、輸入輸出設(shè)備。指令和數(shù)據(jù)共享 同一總線。哈佛體系結(jié)構(gòu):指令與數(shù)據(jù),占用總線分開12、C62XX數(shù)據(jù)通路:2個通用寄存器組(A和B),各15個寄存器;8 個功能單元(丄 1,L2,.S1,.S2,.M1,.M2,.D和 D2);2個存儲器讀取通路(LD1和LD2); 2個存儲器存儲通路(ST1和ST2 ; 2個寄存器組交叉通路(1X和2X); 2個數(shù)據(jù)尋址通路(DA1和DA2);13、寄存器的

7、功能單元:分為 A、B兩組(共8個).L算術(shù)運算;.S邏輯運算;.M乘法;.D地址產(chǎn)生+數(shù)據(jù)運算14、 并行操作:一個取指包8條32bit指令(18個執(zhí)行包);執(zhí)行包中的每一條指令使用的功能單元必須各不相同 影響并行的因素:資源沖突、延遲間隙15、 C6201芯片共多少個片外存儲空間?4個C6201芯片的片外存儲空間的大???52MMAP0模式下SDRAM是否可以接入C6201芯片的片外存儲空間CE2中?可以。16、在嵌入式系統(tǒng)中,程序的存放由用戶自己指定,實際分配過程是由連接器完成的。17、流水線:任何指令的處理皆可分成幾個子操作,每個子操作由不同單元來完成。對每 個單元來說,每隔一個時鐘周期

8、可進入一條新指令,因而在同一時間內(nèi),在不同單元 中可處理多條指令,這種工作方式稱為“流水線”工作方式。18、取指包:取8條指令,8條指令組成一個取指包(FP),取指包中的8條指令同時順序 通過PG PS, PW PR四個節(jié)拍。執(zhí)行包:在流水線的DP節(jié)拍中,取指包指令根據(jù)并行性分成各執(zhí)行包,執(zhí)行包由1至8條并行指令組成。在DP節(jié)拍期間一個執(zhí)行包的指令分別分配到相應(yīng)的功能單元。延遲間隙:指一條指令在第一個執(zhí)行節(jié)拍E1后占用的CPU周期數(shù)。具有延遲間隙的指令, 在最后一個延遲間隙之前,其結(jié)果不能被使用。如乘法指令有一個延遲間隙,這意味著這條乘法指令的結(jié)果可被隔一個 CPU周期的下一條指令使用。19、

9、 多功能緩沖串口 (McBSP )串口,三個通道,可分多個,可緩沖,(2發(fā)送一3接收) 特點:?收/發(fā)獨立、全雙工、雙緩沖數(shù)據(jù)通信,允許連續(xù)的數(shù)據(jù)流?可以接標(biāo)準(zhǔn)的編/解碼器、模擬接口芯片? 支持多種協(xié)議下的接口傳輸: T1E1、MVIP、ST-BUS IOM-2、AC97 IIS SPI?支持多通道操作(128)?內(nèi)置u-律(美日)和A彳聿(歐)壓擴硬件:G.711協(xié)議PCM編碼方式的一部分。 ?內(nèi)部傳輸時鐘和幀同步信號可編程程度高? 數(shù)據(jù)字長可以是8/1216/20/24Z32bit20、 數(shù)據(jù)通道:完成數(shù)據(jù)的接收和發(fā)送,DX負責(zé)發(fā)送,21、傳輸一緩沖收發(fā)(收多發(fā)少):接收操作采取三級緩沖方

10、式:接收移位寄存器存器DRR發(fā)送操作采取兩級緩沖方式:數(shù)據(jù)發(fā)送寄存器22、片內(nèi)數(shù)據(jù)存儲器 一IDRAM1)總?cè)萘?64k bytes (甚至 512k bytes); 2) 3) CPU與DMC間為2*64-bit數(shù)據(jù)總線;4)DR負責(zé)接收。RSRDXR接收緩沖寄存器RBR數(shù)據(jù)接收寄發(fā)送移位寄存器XSR單周期雙存取DMC與IDRAM間4*16-bit數(shù)據(jù)總線23、中斷:為使DSP具有對外界異步事件的處理能力而設(shè)置。處理器需要怎樣做支持中斷:1)保存當(dāng)前處理現(xiàn)場;2)完成中斷任務(wù);3)恢復(fù)各寄存器和現(xiàn)場;4)返回繼續(xù)執(zhí)行被暫時中斷的程序24、編譯、匯編和連接一一.out文件優(yōu)化器選項:-o0優(yōu)化

11、寄存器使用;-01本地優(yōu)化;-02-0全局優(yōu)化;-03文件級優(yōu)化25、C語言數(shù)據(jù)類型:char( 1字節(jié)),short(2字節(jié)),int(4字節(jié)),long(40位)27、數(shù)據(jù)初始化方法1. 調(diào)試器加載程序(loader)自動完成原理:用.short,.word等匯編指令生成變量及其初始值;連接器為這些變量 分配地址調(diào)試器從.out文件中讀取變量初值,通過主機接口,放入目標(biāo)存儲器 中相應(yīng)的變量地址缺點:只適用于程序開發(fā)階段使用,不適用于嵌入式系統(tǒng)。2. 人工初始化-在應(yīng)用程序前插入數(shù)據(jù)初始化程序段MVKMVKHSTW缺點:每個數(shù)據(jù)的初始化要用三條指令,占用很大程序空間3. 拷貝法:數(shù)據(jù)從ROM

12、拷貝到RAM所謂拷貝法,就是將變量的初值-即初始化數(shù)據(jù)單獨存放在一個初始化數(shù)據(jù)段內(nèi) (ROM)。程序復(fù)位后,一段初始化程序?qū)⒊跏蓟瘮?shù)據(jù)段內(nèi)的變量初值拷貝到相應(yīng)變 量地址。這種方法簡省程序存儲空間,也是C程序進行初始化的方法。28、拷貝法使用步驟:1. 常量定義;2.定義變量;3.變量初始化;4.數(shù)據(jù)段分配:在連接器命令文件內(nèi)做*.cmd29、 程序復(fù)位原因:DMA把應(yīng)用程序從片外ext 1搬移到片內(nèi)程序RAM。需要程序控制在上電后從0地址轉(zhuǎn)移到片內(nèi)應(yīng)用程序。30、定界:數(shù)據(jù)或代碼在存儲器內(nèi)的開始地址有一定要求。常數(shù)定界遵循先大后小;代碼無定界要求;3、存儲器映射MEMORY /內(nèi)存描述EPRO

13、M :IP_RAM :SBSRAMID_RAM :SECTIONSmyCode :myDate :命令SECTIONS用于把目標(biāo)文件中的各個代碼段和數(shù)據(jù)分配到MEMORY定義的存儲器內(nèi)。采用連接器命令文件說明系統(tǒng)存儲器配置和映射,方便程序在不同系統(tǒng)之間移植7、線性匯編改寫的格式.def_DP.cproccp tr0,c ptr1, vptr/*為暫時存放臨時數(shù)據(jù)的寄存器定名*/addr_a,addr_xm,np roduct,sumorigi n=/內(nèi)存分配 EPROM SBSRAMDP.reg.reg.reg/*數(shù)據(jù)初始化*/MVMV ZEROLoop :oh , lengh= 800hcp

14、 tr0,addr_a cp tr1,addr_x sum/*處理程序的循環(huán)體部分*/LDHLDHMPYADDSUBvptr B*addr_a+,m *addr_x+,n m,n,p roduct sum,p roduct,sum vp tr,1, vptr loopsum/定義函數(shù)名稱/實現(xiàn)參數(shù)傳遞實現(xiàn)數(shù)據(jù)的返回函數(shù)結(jié)束的標(biāo)志.return.endproc26、用匯編指令編寫 y=mx+b1)1aMVK .S1m, AOMVKH .S1m, A0;&m A0MVK .S1x, A2MVKH .S1x, A2;&x A2MVK .S1b, A4MVKH .S1b, A4;&b A41bLDH

15、.D1*A0, A1;取mLDH .D1*A2, A3;取xLDH .D1*A4, A5;取bNOP4存儲數(shù)據(jù):y寄存器- 存儲器2)31、匯編語言優(yōu)化1)使用并行指令2)用有用的指令(取代數(shù)據(jù)取入寄存器:m,x,b存儲器 寄存器la.初始化數(shù)據(jù)指針:把數(shù)據(jù)地址放入指針寄存器 (指令MVK和MVKH)lb.取數(shù)據(jù):進行存儲器和寄存器之間的讀寫操作 乘法;3)加法;4)loop :Idh.d1*A8+,A2loop :ldh.d1*A8+,A211Idh.d2*B9+,B3IIldh.d2*B9+,B3nop4sub.12B0,1,B0b0b.s1loopmp y.mixA2,B3,A4nop2

16、nopmp y.mixA2,B3,A4add.l1A4,A6,A6nop add.l1A4,A6,A6sub.12B0,1,B0b0b.s1loopnop5NOP)填充延遲間隙:前后對比a1 1 a0A0A1LDW.D1LDW.D1*A5+ , A0*A6+ , A1Xx1 1 x0A7A3MPY.M1A0, A1 , A3A1*x1a0*x0MP YH.M1A0, A1, A7+a1x1+a0X0A4ADD 丄1A3,A7,A4LDW/M PYH使用字訪問半字?jǐn)?shù)據(jù))3)4)5)? LD的nop由4降為2 ? B的nop由5降為2 循環(huán)展開字長優(yōu)化(使用 軟件流水32、混合語言編程-編寫C可調(diào)

17、用的匯編程序A)建立C環(huán)境1)在C程序前聲明線性匯編函數(shù)2)調(diào)用匯編函數(shù)Paren t.C/* p rototy pe */In t child(i nt,l nt);Void main (void) int x = 7;Int y;I* call function */Y = child(x,5);B)建立匯編環(huán)境1)匯編函數(shù)的入口地址聲明為全局變量 匯編函數(shù)的入口地址一C函數(shù)名前加下劃線2)定義函數(shù)入口地址;child.ASM.defchildchild :In strIn strIn str;make the label_fu nc ;visible to lin ker;defi ne

18、 fun cti on;entry point.def_DP;聲明函數(shù)名,建立匯編環(huán)境.cprocparamO,p aram1;函數(shù)參數(shù).reservereserve_reg;需要保護的寄存器.regIocal_val0,local_val1,;函數(shù)內(nèi)的寄存器變量MVp aram0,local_val0;建立函數(shù)參數(shù)與MVp aram1,local_val1;寄存器變量名得關(guān)系;算法C)編寫線性匯編函數(shù):入口代碼、算法、出口代碼_DP :return_value;函數(shù)返回,return_value為物理寄存器或寄存器變量名29、點積實驗 C 代碼#include short DP(short *m, short *n, short count);/ 聲明點積運算子函數(shù) DP( )/* 參與點積運算的兩數(shù)組 a, x 初始化 */short a30 = 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31,

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論