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

正文內(nèi)容

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

2024-10-10 19:50 本頁面
 

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