freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式期末復(fù)習(xí)總結(jié)整理(編輯修改稿)

2025-10-10 19:50 本頁面
 

【文章內(nèi)容簡介】 要針對(duì)硬件進(jìn)行系統(tǒng)的移植;即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進(jìn)行修改;針對(duì)不同的任務(wù),往往需要對(duì)系統(tǒng)進(jìn)行較大更改,這種修改和通用軟件的“升級(jí)”是完全不同的概念;(3)系統(tǒng)精簡:嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能設(shè)計(jì)及實(shí)現(xiàn)上過于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時(shí)也利于實(shí)現(xiàn)系統(tǒng)安全;(4)高實(shí)時(shí)性O(shè)S:這是嵌入式軟件的基本要求,而且軟件要求固態(tài)存儲(chǔ),以提高速度。軟件代碼要求高質(zhì)量和高可靠性、實(shí)時(shí)性;(5)嵌入式軟件開發(fā)走向標(biāo)準(zhǔn)化:嵌入式系統(tǒng)的應(yīng)用程序可以沒有操作系統(tǒng)直接在芯片上運(yùn)行。為了合理地調(diào)度多任務(wù)、利用系統(tǒng)資源、系統(tǒng)函數(shù)以及和專家?guī)旌瘮?shù)接口,用戶必須自行選配RTOS開發(fā)平臺(tái),這樣才能保證程序執(zhí)行的實(shí)時(shí)性、可靠性,并減少開發(fā)時(shí)間,保障軟件質(zhì)量;(6)嵌入式系統(tǒng)需要開發(fā)工具和環(huán)境:其本身不具備自主開發(fā)能力,即使設(shè)計(jì)完成以后,用戶通常也是不能對(duì)其中的程序功能進(jìn)行修改,必須有一套開發(fā)工具和環(huán)境才能進(jìn)行開發(fā)。二、嵌入式系統(tǒng)的設(shè)計(jì)原則及開發(fā)方法:軟硬件協(xié)同設(shè)計(jì)概念:基于體系結(jié)構(gòu),對(duì)系統(tǒng)的軟件、硬件進(jìn)行詳細(xì)設(shè)計(jì),為了縮短產(chǎn)品開發(fā)周期,設(shè)計(jì)往往是并行的(既是先從邏輯入手,設(shè)計(jì)出功能模塊,最后再區(qū)分是由硬件還是軟件來實(shí)現(xiàn)該功能)。舉例:SOC系統(tǒng):嵌入式片上系統(tǒng),結(jié)合許多功能區(qū)塊,將功能坐在一個(gè)芯片上,微處理器核心是通信接口單元等。SOC是追求產(chǎn)品系統(tǒng)最大包容的集成器件,最大特點(diǎn)是成功實(shí)現(xiàn)了軟硬件無縫結(jié)合,直接在處理器片內(nèi)嵌入操作系統(tǒng)的代碼模塊,運(yùn)用VHDL等硬件描述語言,不需要像傳統(tǒng)系統(tǒng)設(shè)計(jì)一樣,繪制龐大復(fù)雜的電路板,一點(diǎn)一點(diǎn)的連接焊制,只需使用精確的語言,綜合時(shí)序設(shè)計(jì),直接在器件庫中調(diào)用各種通用處理器標(biāo)準(zhǔn),通過仿真后,可交付芯片廠家進(jìn)行生產(chǎn)。項(xiàng)目開發(fā)生命周期:(識(shí)別需求-提出解決方案-執(zhí)行項(xiàng)目-結(jié)束項(xiàng)目)。系統(tǒng)開發(fā)步驟:系統(tǒng)需求分析(規(guī)格說明書):確定設(shè)計(jì)任務(wù)和目標(biāo),并提煉出設(shè)計(jì)規(guī)格說明書,作為正式設(shè)計(jì)指導(dǎo)和驗(yàn)收的標(biāo)準(zhǔn)。系統(tǒng)的需求一般分功能性需求和非功能性需求兩方面。功能性需求是系統(tǒng)的基本功能,如輸入輸出信號(hào)、操作方式等;非功能需求包括系統(tǒng)性能、成本、功耗、體積、重量等因素。體系結(jié)構(gòu)設(shè)計(jì):描述系統(tǒng)如何實(shí)現(xiàn)所述的功能和非功能需求,包括對(duì)硬件、軟件和執(zhí)行裝置的功能劃分以及系統(tǒng)的軟件、硬件選型等。一個(gè)好的體系結(jié)構(gòu)是設(shè)計(jì)成功與否的關(guān)鍵。硬件/軟件協(xié)同設(shè)計(jì):基于體系結(jié)構(gòu),對(duì)系統(tǒng)的軟件、硬件進(jìn)行詳細(xì)設(shè)計(jì)。為了縮短產(chǎn)品開發(fā)周期,設(shè)計(jì)往往是并行的。系統(tǒng)集成:把系統(tǒng)的軟件、硬件和執(zhí)行裝置集成在一起,進(jìn)行調(diào)試,發(fā)現(xiàn)并改進(jìn)單元設(shè)計(jì)過程中的錯(cuò)誤。系統(tǒng)測試:對(duì)設(shè)計(jì)好的系統(tǒng)進(jìn)行測試,看其是否滿足規(guī)格說明書中給定的功能要求。三、ARM處理器體系結(jié)構(gòu):馮諾依曼體系結(jié)構(gòu):程序和數(shù)據(jù)共用一個(gè)存儲(chǔ)空間,CPU無法同時(shí)訪問程序和數(shù)據(jù);哈佛體系結(jié)構(gòu):程序和數(shù)據(jù)分開存放,CPU可以同時(shí)訪問程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。(2)CISC:復(fù)雜指令集,具有大量的指令和尋址方式;8/2原則:80%的程序只使用20%的指令;大多數(shù)程序只使用少量的指令就能夠運(yùn)行。RISC:精簡指令集,在通道中只包含最有用的指令;確保數(shù)據(jù)通道快速執(zhí)行每一條指令;使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡單。(3)體系結(jié)構(gòu)與處理器的區(qū)別:知識(shí)產(chǎn)權(quán)核(IP核):電路或核是設(shè)計(jì)好并經(jīng)過驗(yàn)證的集成電路功能單元;IP復(fù)用意味著設(shè)計(jì)代價(jià)降低(時(shí)間,價(jià)格);ARM體系結(jié)構(gòu)是知識(shí)產(chǎn)權(quán),是IP核的一種,并不是某一具體的芯片,而微處理器一般指與RAM、ROM等硬件固化在一起的某一類芯片。(4)IP核的種類:Soft Cores(“code”)(軟核):HDL語言描述;靈活度高,可修改;與工藝獨(dú)立,可根據(jù)具體的加工工藝重新綜合;IP很難保護(hù)。Firm cores(“code+structure”)(固核):邏輯綜合后的描述,與工藝相關(guān)。Hard cores(“physical”)(硬核):物理綜合后的描述,準(zhǔn)備流片,包含工藝相關(guān)的布局和時(shí)序信息,IP很容易保護(hù),多數(shù)的處理器和存儲(chǔ)器。ARM的七種基本工作模式:User用戶模式:非特權(quán)模式,大部分任務(wù)執(zhí)行在這種模式*正常程序執(zhí)行的模式;FIQ快速中斷模式:當(dāng)一個(gè)高優(yōu)先級(jí)(fast)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式*高速數(shù)據(jù)傳輸和通道處理;IRQ外部中斷模式:當(dāng)一個(gè)低優(yōu)先級(jí)(normal)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式*通常的中斷處理;Supervisor管理模式:當(dāng)復(fù)位或軟中斷指令執(zhí)行時(shí)將會(huì)進(jìn)入這種模式*供操作系統(tǒng)使用的一種保護(hù)模式;Abort數(shù)據(jù)訪問中止模式: 當(dāng)存取異常時(shí)將會(huì)進(jìn)入這種模式*虛擬存儲(chǔ)及存儲(chǔ)保護(hù);Undef未定義指令中止模式: 當(dāng)執(zhí)行未定義指令時(shí)會(huì)進(jìn)入這種模式*軟件仿真硬件協(xié)處理器;System系統(tǒng)模式: 使用和User模式相同寄存器集的特權(quán)模式,特權(quán)級(jí)的操作系統(tǒng)任務(wù)。注意:模式之間的轉(zhuǎn)換實(shí)際上是寄存器組之間的切換,當(dāng)使用某種寄存器組,就進(jìn)入了某種相應(yīng)的工作模式。(1)寄存器組織(37 寄存器):31 個(gè)通用32位寄存器,包括未分組寄器R0R分組寄存器R8R1程序計(jì)數(shù)器PC(R15);6 個(gè)狀態(tài)寄存器。15個(gè)通用寄存器(R0 to R14), 以及1或者2個(gè)狀態(tài)寄存器和程序計(jì)數(shù)器在任何時(shí)候都是可以訪問的;可訪問的寄存器取決于處理器的模式;其它寄存器的狀態(tài)在支持IRQ, FIQ, 管理員, 中止和未定義模式處理時(shí)被切換。*FIR要求速度要快,故其專用的寄存器最多。(2)R0 到 R15 可以直接訪問;R0 到 R14 是通用寄存器;R13: 堆棧指針(sp)(通常);每種處理器模式都有單獨(dú)的堆棧;R14: 鏈接寄存器(lr);R15 包含程序計(jì)數(shù)器(PC);CPSR:當(dāng)前程序狀態(tài)寄存器,包括代碼標(biāo)志狀態(tài)和當(dāng)前模式位;5個(gè)SPSRs(程序狀態(tài)保存寄存器):當(dāng)異常發(fā)生時(shí)保存CPSR狀態(tài);SPSR和CPSR的功能是:保存ALU當(dāng)前操作信息、控制允許和禁止中斷、設(shè)置處理器操作模式。(3)程序狀態(tài)寄存器:*條件位:N = 1結(jié)果為負(fù),0結(jié)果為正或0;Z = 1結(jié)果為0,0結(jié)果不為0;C =1進(jìn)位,0借位;V =1結(jié)果溢出,0結(jié)果沒溢出。*中斷禁止位:I=1:禁止IRQ;F=1:禁止FIQ。*T Bit:僅ARM xT架構(gòu)支持;T = 0:處理器處于ARM狀態(tài);T=1:處理器處于Thumb狀態(tài)。*Mode位(處理器模式位):0b10000 User;0b10001 FIQ;0b10010 IRQ;0b10011 Supervisor;0b10111 Abort;0b11011 Undefined;0b11111 System。(4)程序指針PC(r15):當(dāng)處理器執(zhí)行在ARM狀態(tài):所有指令 32 bits 寬;所有指令必須 word 對(duì)齊;所以 pc值由bits [31:2]決定, bits [1:0] 未定義(所以指令不能halfword / byte對(duì)齊)。當(dāng)處理器執(zhí)行在Thumb狀態(tài):所有指令 16 bits 寬;所有指令必須 halfword 對(duì)齊;所以 pc值由bits [31:1]決定, bits [0] 未定義(所以指令不能 byte對(duì)齊)。ARM的異常:(1)異常定義:內(nèi)部或外部中斷源產(chǎn)生并引起處理器處理一個(gè)事件,如外部中斷或試圖執(zhí)行未定義指令都會(huì)引起異常。處理異常之前必須保留處理器的狀態(tài)。(2)異常的類型:復(fù)位RESET:當(dāng)處理器的復(fù)位電平有效時(shí),產(chǎn)生復(fù)位異常,程序跳轉(zhuǎn)到復(fù)位異常的處理程序處執(zhí)行;DABT數(shù)據(jù)中止:若處理器數(shù)據(jù)訪問指令地址不存在或該地址不允許當(dāng)前指令訪問,產(chǎn)生異常;FIQ快速中斷請(qǐng)求:當(dāng)快速中斷請(qǐng)求引腳有效,且CPSR中F=0,產(chǎn)生異常;IRQ外部中斷請(qǐng)求:當(dāng)外部中斷請(qǐng)求引腳有效,且且CPSR中I=0;PABT指令預(yù)取中止:若預(yù)取指令地址不存在或該地址不允許當(dāng)前的指令訪問,存儲(chǔ)器向處理器發(fā)出中止信號(hào),但是只有當(dāng)取指的指令被執(zhí)行時(shí),才產(chǎn)生異常;UDEF未定義指令:當(dāng)處理器或協(xié)處理器遇到不能處理的指令時(shí)產(chǎn)生該異常,可利用該機(jī)制進(jìn)行軟件仿真;SWI軟件中斷:由執(zhí)行SWI指令產(chǎn)生,用于用戶模式下的程序調(diào)用特權(quán)操作指令,利用該異常機(jī)制實(shí)現(xiàn)系統(tǒng)功能調(diào)用。(3)異常處理過程(只能在ARM態(tài)執(zhí)行,若進(jìn)入異常前是Thumb態(tài),進(jìn)入異常后轉(zhuǎn)為ARM態(tài),返回后自動(dòng)進(jìn)入Thumb):當(dāng)異常產(chǎn)生時(shí),處理器執(zhí)行以下動(dòng)作:改變處理器狀態(tài)進(jìn)入 ARM 態(tài);改變處理器模式進(jìn)入相應(yīng)的異常模式;保存返回地址到 LR_;拷貝 CPSR 到 SPSR_;設(shè)置中斷禁止位禁止相應(yīng)中斷(如需要);設(shè)置PC 為相應(yīng)的異常向量。異常處理完畢后,微處理器執(zhí)行下列操作從異常返回:從LR_恢復(fù)PC,應(yīng)減去相應(yīng)的偏移量;從 SPSR_恢復(fù)CPSR;清楚中斷禁止位。注意復(fù)位異常處理程序不需返回,因?yàn)榭梢哉J(rèn)為應(yīng)用程序總是從復(fù)位異常處理程序開始執(zhí)行。(4)異常響應(yīng)過程偽代碼: R14_=Return Link SPSR_=CPSR CPSR[4:0]=Exception Mode Number CPSR[5]=0。//當(dāng)運(yùn)行于ARM狀態(tài)時(shí)IF==Reset or FIQ then。//當(dāng)響應(yīng)FIQ異常時(shí)禁止新的FIQ異常 CPSR[6]=1;CPSR[7]=1; PC=Exception Vector 、ARM寄存器與操作系統(tǒng)之間的關(guān)系:操作系統(tǒng)的設(shè)計(jì)需要硬件的支持,同時(shí)也受其制約,例如在單片機(jī)上無法運(yùn)行windows OS是因?yàn)橘Y源不夠。同時(shí)ARM寄存器組也支持操作系統(tǒng),更快地在各種模式之間轉(zhuǎn)換,無需進(jìn)行出、入棧操作,利用寄存器組提高了上下文切換的效率。ARM狀態(tài)和Thumb狀態(tài)關(guān)系:在程序的執(zhí)行過程中,微處理器可以隨時(shí)地在兩種工作狀態(tài)之間切換且不影響處理器的工作模式和相應(yīng)寄存器的內(nèi)容。Thumb狀態(tài)是ARM狀態(tài)的一個(gè)映射,最終也要映射成ARM指令來執(zhí)行,但字長較小,提高空間利用率,低功耗,節(jié)省代碼空間,用于便捷設(shè)備,不能用于異常模式;ARM微處理器在開始執(zhí)行代碼時(shí),應(yīng)該處于ARM態(tài)。進(jìn)入Thumb態(tài)操作:當(dāng)操作數(shù)寄存器的狀態(tài)位為1時(shí),執(zhí)行BX指令,從ARM態(tài)進(jìn)入Thumb態(tài)。當(dāng)處于Thumb態(tài)時(shí)發(fā)生異常,則異常返回時(shí),自動(dòng)切換回到Thumb態(tài)。進(jìn)入ARM態(tài)操作:當(dāng)操作數(shù)寄存器的狀態(tài)位為0時(shí),執(zhí)行BX指令進(jìn)入ARM態(tài)。此外當(dāng)進(jìn)行異常處理時(shí),把PC指針放入異常模式鏈接寄存器R14中,并從異常向量地址開始執(zhí)行程序,也能切換到ARM態(tài);Thumb狀態(tài)下的寄存器集是ARM狀態(tài)下寄存器集的一個(gè)子集。四、ARM指令集:ARM編程模型:(1)3級(jí)指令流水線技術(shù):幾個(gè)指令可以并行執(zhí)行,提高了CPU的運(yùn)行效率;內(nèi)部信息流要求通暢流動(dòng)(為了增加處理器指令流速度,提高運(yùn)行效率);允許多個(gè)操作同時(shí)處理,比逐條指令執(zhí)行要快;PC指向正被取指的指令,而非正在執(zhí)行的指令。(2)存儲(chǔ)器模式:大端模式(字?jǐn)?shù)據(jù)的高位字節(jié)存儲(chǔ)在低地址中,字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中)和小端模式。(3)數(shù)據(jù)和指令類型:ARM采用32位架構(gòu);ARM約定:字節(jié)8位,半字16位,字32位;大部分ARM核提供ARM指令集和Thumb指令集(T變種);Jazelle 核支持Java bytecode(J變種,4TEJ),所有指令8位寬,處理器執(zhí)行字存取,一次取4條指令。指令結(jié)構(gòu):采用馮?諾依曼體系結(jié)構(gòu),需要把指令從存儲(chǔ)器加載到寄存器,沒有專門的IO指令,故存在load/store結(jié)構(gòu)——從存儲(chǔ)器中讀某個(gè)值,操作完后再將其放回存儲(chǔ)器中。指令分類:–使用和改變寄存器的值;–把存儲(chǔ)器的值拷貝到寄存器中(load)or 把寄存器中的值拷貝到存儲(chǔ)器中(store); :分支、分支和鏈接, 保存返回的地址,以恢復(fù)最先的次序、陷入系統(tǒng)代碼。ARM與Thumb指令的關(guān)系:(1)Thumb指令的特點(diǎn):Thumb 指令的長度為 16 位,是針對(duì)代碼密度問題而提出的;所有的 Thumb 指令和編程模型與ARM指令和編程模型相對(duì)應(yīng);Thumb 子程序和 ARM 子程序就可以互相調(diào)用;Thumb 指令集中的操作數(shù)和指令地址仍為32 位 ;大多數(shù)的 Thumb指令是無條件執(zhí)行的,而幾乎所有的 ARM 指令都是有條件執(zhí)行的;Thumb不是一個(gè)完整的體系結(jié)構(gòu),不能指望處理器只執(zhí)行Thumb指令集而不支持ARM指令集。(2)Thumb 指令與ARM 指令的時(shí)間效率和空間效率關(guān)系 :Thumb 代碼所需的存儲(chǔ)空間約為ARM 代碼的60%~70%;Thumb 代碼使用的指令數(shù)比ARM 代碼多約30%~40%;若使用32 位的存儲(chǔ)器,ARM 代碼比Thumb 代碼快約40%;若使用16 位的存儲(chǔ)器,Thumb 代碼比ARM 代碼快約40%~50%;與ARM 代碼相比較,使用Thumb 代碼,存儲(chǔ)器的功耗會(huì)降低約30%。五、典型的ARM核芯片結(jié)構(gòu):LPC2000系列處理器結(jié)構(gòu):LPC2000系列微控制器將ARM7TDMI配置為小端模式;內(nèi)部存儲(chǔ)器包括無等待SRAM和Flash;系統(tǒng)功能包括維持芯片工作的一些基本功能,如系統(tǒng)時(shí)鐘、復(fù)位等;向量中斷控制器(VIC)可減少中斷響應(yīng)時(shí)間,最多可管理32個(gè)中斷請(qǐng)求;外部存儲(chǔ)器控制器(EMC)支持4個(gè)BANK的外部SRAM和Flash,每個(gè)BANK最大16MB;I2C串行接口為標(biāo)準(zhǔn)I2C總線接口,支持最大速度400KB;具有兩個(gè)完全獨(dú)立的SPI控制器;具有兩個(gè)UART接口,均包含16字節(jié)的接受/發(fā)送FIFO,內(nèi)置波特率發(fā)生器,UART1具調(diào)制解調(diào)接口功能;LPC2119/2129/2290/2292包含CAN總線接口;看門狗定時(shí)器;通用IO,可受5V電壓,每個(gè)IO口可獨(dú)立設(shè)置為輸入輸出模式;PWMO脈寬調(diào)制器,可靈活設(shè)置,以適應(yīng)不同的場合,單邊沿/雙邊沿輸出方式,頻率、占空比可調(diào);實(shí)時(shí)時(shí)鐘,具可編程積存時(shí)鐘分頻器,以適應(yīng)不同的晶振頻率。LPC處理器的啟動(dòng)過程:一般在32位ARM應(yīng)用系統(tǒng)中,大多數(shù)采用C語言進(jìn)行軟件編程,但是在運(yùn)行應(yīng)用代碼前需要進(jìn)行系統(tǒng)初始化,常用一匯編文件做啟動(dòng)代碼,它可以實(shí)現(xiàn)異常向量表定義、堆棧初始化、系統(tǒng)變量初始化、地址重映射等操作。時(shí)鐘編程方法存儲(chǔ)器映射控制原理:用于控制地址范圍為0x00000x0037存儲(chǔ)區(qū)域的重新映射,該區(qū)域存放著異常向量表,發(fā)生異常時(shí),程序總是跳轉(zhuǎn)到地址為0x00000x0037的對(duì)應(yīng)入口處
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1