嵌入式系統(tǒng)復(fù)習(xí)終極版資料_第1頁(yè)
嵌入式系統(tǒng)復(fù)習(xí)終極版資料_第2頁(yè)
嵌入式系統(tǒng)復(fù)習(xí)終極版資料_第3頁(yè)
嵌入式系統(tǒng)復(fù)習(xí)終極版資料_第4頁(yè)
嵌入式系統(tǒng)復(fù)習(xí)終極版資料_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、嵌入式系統(tǒng)復(fù)習(xí)重點(diǎn)一、題型填空題2'X10單項(xiàng)選擇題2'X 5名詞解釋 2' X 5簡(jiǎn)做題5'X 6設(shè)計(jì)題 15' X 2二、考點(diǎn)第一章嵌入式系統(tǒng)概述1、 嵌入式系統(tǒng)從技術(shù)角度的定義及其特點(diǎn)見(jiàn)PPT第一章定義:以應(yīng)用為中央、以計(jì)算機(jī)技術(shù)為根底、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、 可靠性、本錢、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng).特點(diǎn):嵌入性、內(nèi)含計(jì)算機(jī)、專用性.2、嵌入式系統(tǒng)的未來(lái)P3產(chǎn)品市場(chǎng)窗口現(xiàn)在預(yù)計(jì)翻番的周期狂熱到69個(gè)月;全球重新定義市場(chǎng)的時(shí)機(jī)和膨脹的應(yīng)用空間;互聯(lián)現(xiàn)在是一個(gè)需求而不是輔助性的,包括用有線和剛剛顯露頭角的無(wú)線技術(shù);基于電子的產(chǎn)品

2、更復(fù)雜化;互聯(lián)嵌入式系統(tǒng)產(chǎn)生新的依賴網(wǎng)絡(luò)根底設(shè)施的應(yīng)用;微處理器的處理水平按莫爾定律 Moore' s L aw 預(yù)計(jì)的速度在增加.該定律認(rèn)為集 成電路和晶體管個(gè)數(shù)每18個(gè)月翻一番.3、 什么是嵌入式處理器及嵌入式系統(tǒng)的分類 P5嵌入式處理器:為完成特殊應(yīng)用而設(shè)計(jì)的特殊目的的處理器.嵌入式系統(tǒng)可以分為以下幾大類:嵌入式微處理器EMPU嵌入式微限制器MCU嵌入式DSPb理器;嵌入式片上系統(tǒng)SOC4、嵌入式操作系統(tǒng)相關(guān)的根本概念 P7-10 可能考名詞解釋前后臺(tái)系統(tǒng):對(duì)基于芯片的開(kāi)發(fā)來(lái)說(shuō),應(yīng)用程序一般是一個(gè)無(wú)限的循環(huán),可稱為前后臺(tái)系 統(tǒng)或超循環(huán)系統(tǒng).循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的操作,這局

3、部可以看成后臺(tái)行為,后臺(tái)也可以叫做任務(wù)級(jí),這種系統(tǒng)在處理的及時(shí)性上比實(shí)際可以做到的要差.中斷效勞程序處理異步事件,這局部可以看成前臺(tái)行為,前臺(tái)也叫中斷級(jí),時(shí)間相關(guān)性很強(qiáng)的關(guān)鍵操作一定是 靠中斷效勞程序來(lái)保證的.操作系統(tǒng):操作系統(tǒng)是計(jì)算機(jī)中最根本的程序.操作系統(tǒng)負(fù)責(zé)計(jì)算機(jī)系統(tǒng)中全部軟硬資源的分配與回收、限制與協(xié)調(diào)等并發(fā)的活動(dòng);操作系統(tǒng)提供用戶接口,使用戶獲得良好的工作環(huán)境;操作系統(tǒng)為用戶擴(kuò)展新的系統(tǒng)功能提供軟件平臺(tái).實(shí)時(shí)操作系統(tǒng):實(shí)時(shí)操作系統(tǒng)是一段在嵌入式系統(tǒng)啟動(dòng)后首先執(zhí)行的背景程序,用戶的應(yīng)用程序是運(yùn)行于 RTOE上的各個(gè)任務(wù),RTOS艮據(jù)各個(gè)任務(wù)的要求,進(jìn)行資源 包括存儲(chǔ)器、 外設(shè)等治理、消

4、息治理、任務(wù)調(diào)度、異常處理等工作.在RTOS持的系統(tǒng)中,每個(gè)任務(wù)均有一個(gè)優(yōu)先級(jí),RTOS根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí),動(dòng)態(tài)地切換各個(gè)任務(wù),保證對(duì)實(shí)時(shí)性的要 求.代碼的臨界區(qū):也稱為臨界區(qū),指處理不可分割的代碼,運(yùn)行這些代碼不允許被打斷.一旦 這局部代碼開(kāi)始執(zhí)行, 那么不允許任何中斷打斷 這不是絕對(duì)的,如果中斷不調(diào)用任何包含臨 界區(qū)的代碼,也不訪問(wèn)臨界區(qū)的使用的共享資源,這個(gè)中斷可以執(zhí)行.為保證臨界區(qū)代碼的執(zhí)行,在進(jìn)入臨界區(qū)之前要關(guān)中斷,而臨界區(qū)代碼執(zhí)行完成以后要立即開(kāi)中斷.資源:程序運(yùn)行時(shí)可使用的軟、硬件環(huán)境統(tǒng)稱為資源.資源可以是輸入、輸出設(shè)備,例如打 印機(jī)、鍵盤、顯示器,也可以是一個(gè)變量、一個(gè)結(jié)構(gòu)或

5、一個(gè)數(shù)組等.共享資源:可以被一個(gè)以上任務(wù)使用的資源叫做共享資源.為了預(yù)防數(shù)據(jù)被破壞, 每個(gè)任務(wù)在與共享資源打交道時(shí),必須獨(dú)占該資源,這叫做互斥.任務(wù):一個(gè)任務(wù)也叫做一個(gè)線程, 是一個(gè)簡(jiǎn)單的程序, 該程序可以認(rèn)為 CPlUc全屬于該程序 本身.實(shí)時(shí)應(yīng)用程序的設(shè)計(jì)過(guò)程, 包括如何把問(wèn)題分割成多個(gè)任務(wù), 每個(gè)任務(wù)都是整個(gè)應(yīng)用 的某一局部,被賦予一定的優(yōu)先級(jí),有它自己的一套CPl存放器和自己的??臻g.任務(wù)切換:當(dāng)多任務(wù)內(nèi)核決定運(yùn)行另外的任務(wù)時(shí),保存正在運(yùn)行任務(wù)的當(dāng)前狀態(tài),即CPl存放器中的全部?jī)?nèi)容. 這些內(nèi)容保存在當(dāng)前狀態(tài)保存區(qū),也就是任務(wù)自己的棧區(qū)之中. 入棧工作完成以后,就把下一個(gè)將要運(yùn)行的任務(wù)的

6、當(dāng)前狀態(tài)從任務(wù)的棧中重新裝入CPU存放器,并開(kāi)始下一個(gè)任務(wù)的運(yùn)行,這個(gè)過(guò)程就叫任務(wù)的切換.這個(gè)過(guò)程增加了應(yīng)用程序的額外負(fù)擔(dān),CPU的存放器越多,額外負(fù)擔(dān)就越重.做任務(wù)切換所需要的時(shí)間取決于CPUW多少存放器要入棧,實(shí)時(shí)內(nèi)核的性能不應(yīng)該以每秒鐘能做多少次任務(wù)切換來(lái)評(píng)價(jià).內(nèi)核:多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)治理各個(gè)任務(wù),或者說(shuō)為每個(gè)任務(wù)分配CPU寸間,并且負(fù)責(zé)任務(wù)之間的通信.內(nèi)核提供的根本效勞是任務(wù)切換.使用實(shí)時(shí)內(nèi)核可以大大簡(jiǎn)化應(yīng)用系統(tǒng)的設(shè)計(jì),是由于實(shí)時(shí)內(nèi)核允許將應(yīng)用分成假設(shè)干個(gè)任務(wù),由實(shí)時(shí)內(nèi)核來(lái)治理它們. 內(nèi)核提供必不可少的系統(tǒng)效勞,如信號(hào)量、消息隊(duì)列、延時(shí)等.調(diào)度:調(diào)度是內(nèi)核的主要責(zé)任之一. 調(diào)度就是

7、決定該輪到哪個(gè)任務(wù)運(yùn)行了. 多數(shù)實(shí)時(shí)內(nèi)核是 基于優(yōu)先級(jí)調(diào)度法的. 每個(gè)任務(wù)根據(jù)其重要程序的不同被賦予一定的優(yōu)先級(jí).基于優(yōu)先級(jí)的調(diào)度法指CPU總是讓處在就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)先運(yùn)行. 然而究竟何時(shí)讓高優(yōu)先級(jí)任務(wù)掌握CPU的使用權(quán),有兩種不同的情況, 這要看用的是什么類型的內(nèi)核,是非占先式的還是占先式的內(nèi)核.非先占式內(nèi)核:非占先式內(nèi)核要求每個(gè)任務(wù)自我放棄CPU的所有權(quán).非占先式調(diào)度法也稱作合作型多任務(wù),各個(gè)任務(wù)彼此合作共享一個(gè)CPU異步事件還是由中斷效勞來(lái)處理.中斷效勞可以使一個(gè)高優(yōu)先級(jí)的任務(wù)由掛起狀態(tài)變?yōu)榫途w狀態(tài).但中斷效勞以后限制權(quán)還是回到原來(lái)被中斷了的那個(gè)任務(wù),直到該任務(wù)主動(dòng)放棄 CPU的

8、使用權(quán)時(shí),那個(gè)高優(yōu)先級(jí)的任務(wù)才能 獲得CPU的使用權(quán).先占式內(nèi)核:當(dāng)系統(tǒng)響應(yīng)時(shí)間很重要時(shí),要使用占先式內(nèi)核. 因此絕大多數(shù)商業(yè)上銷售的實(shí)時(shí)內(nèi)核都是占先式內(nèi)核.最高優(yōu)先級(jí)的任務(wù)一旦就緒,總能得到CPU的限制權(quán).當(dāng)一個(gè)運(yùn)行著的任務(wù)使一個(gè)比它優(yōu)先級(jí)高的任務(wù)進(jìn)入了就緒狀態(tài),當(dāng)前任務(wù)的CPUt用權(quán)就被剝奪了,或者說(shuō)被掛起了,那個(gè)高優(yōu)先級(jí)的任務(wù)馬上得到了CPU的限制權(quán).如果是中斷效勞子程序使一個(gè)高優(yōu)先級(jí)的任務(wù)進(jìn)入就緒態(tài),中斷完成時(shí),中斷了的任務(wù)被掛起, 優(yōu)先級(jí)高的那個(gè)任務(wù)開(kāi)始運(yùn)行.任務(wù)優(yōu)先級(jí):任務(wù)的優(yōu)先級(jí)是表示任務(wù)被調(diào)度的優(yōu)先程度.每個(gè)任務(wù)都具有優(yōu)先級(jí).任務(wù)越重要,賦予的優(yōu)先級(jí)應(yīng)越高,越容易被調(diào)度而進(jìn)入運(yùn)

9、行態(tài).中斷:中斷是一種硬件機(jī)制,用于通知 cpiW個(gè)異步事件發(fā)生了.中斷一旦被識(shí)別,cpU存局部或全部上下文即局部或全部存放器的值,跳轉(zhuǎn)到專門的子程序,稱為中斷效勞子程序ISR.中斷效勞子程序做事件處理,處理完成后,程序回到:1. 在前后臺(tái)系統(tǒng)中,程序回到后臺(tái)程序;2. 對(duì)非占先式內(nèi)核而言,程序回到被中斷了的任務(wù);3. 對(duì)占先式內(nèi)核而言,讓進(jìn)入就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)開(kāi)始運(yùn)行.時(shí)鐘節(jié)拍:時(shí)鐘節(jié)拍是特定的周期性中斷.這個(gè)中斷可以看作是系統(tǒng)心臟的脈動(dòng).中斷之間的時(shí)間間隔取決于不同應(yīng)用,一般在10ms到200ms之間.時(shí)鐘的節(jié)拍式中斷使得內(nèi)核可以將任務(wù)延時(shí)假設(shè)干個(gè)整數(shù)時(shí)鐘節(jié)拍,以及當(dāng)任務(wù)等待事件發(fā)生

10、時(shí),提供等待超時(shí)的依據(jù). 時(shí)鐘節(jié)拍率越快,系統(tǒng)的額外開(kāi)銷就越大.5、嵌入式實(shí)時(shí)操作系統(tǒng)的優(yōu)缺點(diǎn)及常見(jiàn)的嵌入式實(shí)時(shí)操作系統(tǒng)P11-14優(yōu)點(diǎn):在嵌入式實(shí)時(shí)操作系統(tǒng)環(huán)境下開(kāi)發(fā)實(shí)時(shí)應(yīng)用程序使程序的設(shè)計(jì)和擴(kuò)展變得容易,不需要大的改動(dòng)就可以增加新的功能.通過(guò)將應(yīng)用程序分割成假設(shè)干獨(dú)立的任務(wù)模塊,使應(yīng)用程序的設(shè)計(jì)過(guò)程大為簡(jiǎn)化;而且對(duì)實(shí)時(shí)性要求苛刻的事件都得到了快速、 可靠的處理.通過(guò)有效 的系統(tǒng)效勞,嵌入式實(shí)時(shí)操作系統(tǒng)使得系統(tǒng)資源得到更好的利用.缺點(diǎn):使用嵌入式實(shí)時(shí)操作系統(tǒng)還需要額外的ROM/RA研銷,25湖CPU額外負(fù)荷,以及內(nèi)核的費(fèi)用.常見(jiàn)的嵌入式實(shí)時(shí)操作系統(tǒng):uClinux、Wndows CE、VxW

11、orks、C/OS-II第二章 ARM7體系結(jié)構(gòu)1、ARM勺體系結(jié)構(gòu)及常用的AR僦理器系列P16AR幃核采用RISC系結(jié)構(gòu).RISC是精簡(jiǎn)指令集計(jì)算機(jī)的縮寫,其目標(biāo)是設(shè)計(jì)出在高時(shí)鐘頻率下單周期執(zhí)行,簡(jiǎn)單而有效的指令集.ARW核采用RIS酬系結(jié)構(gòu),因此具有RISC的結(jié)構(gòu)特點(diǎn)如具有大量的通用存 儲(chǔ)器;獨(dú)特的裝載/保存(load-store )結(jié)構(gòu);簡(jiǎn)單的尋址模式;統(tǒng)一和固定長(zhǎng)度的指令格式.常用的AR就理器系列:ARM淙列、ARM際列、ARM1源列、ARM11系列、Intel的XScale 系列和MPCore系列;還有針對(duì)低端 8位MC廊場(chǎng)推出的Cortex-M3系列,其具有32位CPU 性能、8位

12、CPU的價(jià)格.2、ARM7TDM®完整意思是什么?ARM7TDMO基于AR冊(cè)系結(jié)構(gòu)V4版本的低端AR蜓.其彌補(bǔ)了 ARM伊艮難在低于5V電壓 下穩(wěn)定工作的缺乏,還增加了后綴所對(duì)應(yīng)的功能:ARM7TDMI-SARM7TDMI 的可蟀合 fsynthesizableJ|版本,對(duì)危用工程處秉說(shuō)其偏程摸型與ARM7TDM1 一故;支持EmbededlCE觀察硬件;更特64位乘豎;矣持片上調(diào)武;支特 高 密度16張的Thumb指冬推;3、存儲(chǔ)器的字與半字及對(duì)齊關(guān)系 P20從偶數(shù)地址開(kāi)始的連續(xù)2個(gè)字節(jié)構(gòu)成一個(gè)半字;以能被 4整除的地址開(kāi)始的連續(xù) 4個(gè)字節(jié) 構(gòu)成一個(gè)字;ARM旨令的長(zhǎng)度剛好是一個(gè)字

13、,Thumbs令的長(zhǎng)度剛好是一個(gè)半字. 如果一個(gè)數(shù)據(jù)是從偶地址開(kāi)始的連續(xù)存儲(chǔ), 那么它就是半字對(duì)齊, 否那么就是非半字對(duì)齊; 如 果一個(gè)數(shù)據(jù)是以能被4整除的地址開(kāi)始的連續(xù)存儲(chǔ), 那么它就是字對(duì)齊,否那么就是非字對(duì)齊.B式豐爭(zhēng)對(duì)齊壽對(duì)齊地波0x40020x40040x40040x4008BitO=OBitl=0.BitO=0 其也住為性惹值4、3級(jí)流水線P20(可能考大題) 級(jí)流水線結(jié)構(gòu)的指令執(zhí)行順序pc-a指令1指令2指令3指令4周期1同期2周周期4周期5周期6史理器說(shuō)樗一務(wù)取指譯碼執(zhí)行攜令的三個(gè)階段 取指譯碼執(zhí)行取指譯碼執(zhí)行|取指譯碼I執(zhí)行I程序存儲(chǔ)器可參考第二章PPT23頁(yè)的思考題例子.5

14、、ARMfe理器的兩種狀態(tài)P24ARM7TDM&理器內(nèi)核包含2套指令系統(tǒng),分別為ARIW令集和Thum萌令,并且各自對(duì)應(yīng)1種處 理器的狀態(tài):AR瞰態(tài):32位,處理器執(zhí)行字方式的 ARMf令,處理器默認(rèn)為此狀態(tài);Thum以犬態(tài):16位,處理器執(zhí)行半字方式的 Thumb旨令.注意:兩個(gè)狀態(tài)之間的切換并不影響處理器模式或存放器內(nèi)容.具體例子見(jiàn)書上P2砒序清單2.2 .6、ARMfe理器的7種處理模式P26 必考ARM體系結(jié)構(gòu)支持7種處理器模式,分別為:用戶模式、快中斷模式、中斷模式、治理 模式、中止模式、未定義模式和系統(tǒng)模式. 這樣的好處是可以更好的支持操作系統(tǒng)并提升工 作效率,ARM7TD

15、MK全支持這七種模式.處理器模式說(shuō)明備注用戶usr正常程序運(yùn)行的工作模式不能直接從用戶模式切換到其他模式特權(quán)模式系統(tǒng)sys用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類似,但具有直接切換到其他模式等特權(quán)異 常 模 式治理(svc)供操作系統(tǒng)使用的一種保護(hù)模式只有在系統(tǒng)復(fù)位和軟件中斷響應(yīng)時(shí),才進(jìn)入此模式中止abt用于虛擬內(nèi)存和或存儲(chǔ)器保護(hù)在ARM武核中沒(méi)有多大用處未正義und支持軟件仿真的硬件協(xié)處理器只有在未定義指令異常響應(yīng)時(shí),才進(jìn)入此模式中斷(irq )中斷請(qǐng)求處理只有在IRQ異常響應(yīng)時(shí),才進(jìn)入此模式快速中斷fiq 快速中斷請(qǐng)求處理只有在FIQ異常響應(yīng)時(shí),才進(jìn)入此模式7、ARM犬態(tài)下的內(nèi)部存放器P2

16、8-36 重點(diǎn)熟記各數(shù)字在ARK理器內(nèi)部共有37個(gè)用戶可訪問(wèn)的存放器,分別為31個(gè)通用32位存放器和6個(gè)狀態(tài) 存放器.AR祉理器共有7種不同的處理器模式, 每種模式都有一組相應(yīng)的存放器組, 最多可 以18個(gè)活動(dòng)的存放器.如下表所示:ARM狀態(tài)各模式下可以訪問(wèn)的存放器類別希中的名琮mP背登中止:未定艾中斷快中嘶R0(a1)RDR1網(wǎng)R2a3JR2R3【邳R3R5(v2)存放甥存放器在王名模式下實(shí)際訪問(wèn)的存放器RB(v5Ra_fiqR12_hqR9_fiqR10_fiq麗網(wǎng)R7(v4R13(SPJR13R13_svcR13_abtR13 undR13JrqR13_fiqR14 iR14_svcRH

17、JrqRHJkjR15R1G(5Lpv7)EH(FP 順 R12(IP)CP5RSPSRCP5RR 15( PCI哥存器SPSR_svc SPSR_abt SPSR_undSPSR ria存放器R0R7為未分組的通用存放器,它們?cè)谌魏翁幚砥髂J蕉紝?duì)應(yīng)于相同的32位物理存放器.存放器R8R12有兩個(gè)分組的物理存放器.一個(gè)用于除FIQ模式之外的所有存放器模式,另一 個(gè)用于FIQ模式.在發(fā)生FIQ中斷后,處理器不必為保護(hù)存放器而浪費(fèi)時(shí)間,從而加速了FIQ的處理速度.存放器R1& R14分別有6個(gè)分組的物理存放器.1個(gè)用于用戶和系統(tǒng)模式,其余 外分別 用于5種異常模式.存放器R13通常作為堆棧

18、指針SD,用于保存待使用的存放器的內(nèi)容.存放器R14稱為鏈接存放器LR,在結(jié)構(gòu)上有兩個(gè)特殊功能: 當(dāng)使用BL旨令調(diào)用子程序 時(shí),返回地址將自動(dòng)存入 R1.;當(dāng)發(fā)生異常時(shí),將R1取寸應(yīng)的異常模式版本設(shè)置為異常返回 地址有些異常有一個(gè)小的固定偏移量.存放器R15稱為程序計(jì)數(shù)器PQ,它指向正在“取指的指令.存放器CPS曲當(dāng)前程序狀態(tài)存放器,在異常模式中,另外一個(gè)存放器“程序狀態(tài)保存寄 存器SPSR可以被訪問(wèn).每種異常都有自己的 SPSR在進(jìn)入異常時(shí)它保存 CPSR勺當(dāng)前值, 異常退出時(shí)可通過(guò)它恢復(fù) CPSRThum猷態(tài)存放器集是AR嗷態(tài)集的子集,程序員可以直接訪問(wèn)的存放器為:8個(gè)通用存放器R0R7,

19、在匯編語(yǔ)言中存放器 R0R7為通用存放器,對(duì)于任何處理器模 式,它們中的每一個(gè)都對(duì)應(yīng)于相同的32為物理存放器.程序計(jì)數(shù)器P.;堆棧指針SP,堆棧指針SP寸應(yīng)AR嗷態(tài)的存放器R13.每個(gè)異常模式都有其自身的 SP 分組版本,SP®常指向各異常模式所專用的堆棧. 注意:在發(fā)生異常時(shí),處理器自動(dòng)進(jìn)入ARM 狀態(tài).鏈接存放器LR,鏈接存放器LRM應(yīng)ARK態(tài)存放器R14.注意:在發(fā)生異常時(shí),處理 器自動(dòng)進(jìn)入AR嗷態(tài).當(dāng)前程序狀態(tài)存放器CPSRR.在兩種狀態(tài)中,存放器R0-R7是低端存放器,R8-R12是高端存放器,在Thum砒態(tài)中,高 端存放器的訪問(wèn)是受到限制的,只有MOV CM和ADD旨令可

20、以對(duì)其訪問(wèn),可以用于數(shù)據(jù)的快速暫存.8、當(dāng)前程序狀態(tài)存放器的用法 P36-39AR函核包含1個(gè)CPS前5個(gè)僅供異常處理程序使用的SPSR CPS阪映當(dāng)前處理器的狀態(tài),其包含:4個(gè)條件代碼標(biāo)志負(fù)標(biāo)志N、零標(biāo)志Z、進(jìn)位標(biāo)志胡日溢出標(biāo)志V ;2個(gè)中斷禁止位IRQ禁止與FIQ禁止;5個(gè)對(duì)當(dāng)前處理器模式進(jìn)行編碼的位M4:0;1個(gè)用于指示當(dāng)前執(zhí)行指令的位ARM旨令還是Thumb旨令.其格式如下:茶件代碼榕志保存限制住負(fù)標(biāo)志N:運(yùn)算結(jié)果的第31位值,記錄標(biāo)志設(shè)置操作的結(jié)果;零標(biāo)志Z:如果標(biāo)志設(shè)置的操作為 0,那么置位;進(jìn)位標(biāo)志C:記錄無(wú)符號(hào)加法溢出,減法無(wú)借位,循環(huán)移位;溢出標(biāo)志V:記錄標(biāo)志設(shè)置操作的有符號(hào)

21、溢出.中斷禁止限制位I和F:當(dāng)限制位I置位時(shí),IRQ中斷被禁止;當(dāng)限制位F置位時(shí),FIQ中斷被禁止.處理器狀態(tài)位T:當(dāng)限制位T置位時(shí),處理器正在Thumb犬態(tài)下運(yùn)行;當(dāng)限制位T清零時(shí),處理器正在AR瞰態(tài)下運(yùn)行.警告:絕對(duì)不要強(qiáng)制改變CPSfW存器中的限制位T.如果這樣做,處理器將進(jìn)入一個(gè)無(wú) 法預(yù)測(cè)的狀態(tài).處理器模式位MA M4AE式可見(jiàn)的可見(jiàn)的ARM狀者存放器1000G用戶R0-R7, SPr LR. PC, CPSRROR14rPC, CPSR10001快速中斷SP fiq.LR fig. PC, cpsr spsr naROR7. R8jtqRl4_fiq; PC.CPSR, SPSRJi

22、q1001.中斷ROR7, SPJrq; LR_irq. PChCPSR, SPSRJtqROR12, Rl3_irqr R14Jrq; FC, CPSR, SPSR_irq10011治理RdR乙 SP_SK. LR_S;'C. PC:CPSR, SPSR_svcR0R12, R13_S ;C; R14_svch PC, CPSR. SPSR_svc10111中止R(WR7, SP_abt. LR_abL PC, CPSR, SPSR.abtRCWR12, R13_abt, R14_abt FC, CPSR, SPSR_abt11011未定義R(WR7, SP_und LR_und.

23、PCr CPSR, SPSR_undRCWR12, R13,und. R14_und. PCh CPSR, SPSR_und11111 R(WR7, SP, LR一 PC, CPSRR(WR14rPC, CPSR注意:不是所有模式位的組合都定義了有效的處理器模式,如果將非法值寫入M4:0中,處理器將進(jìn)入一個(gè)無(wú)法恢復(fù)的模式.保存位:CPS呻的保存位被保存將來(lái)使用. 當(dāng)改變CPS標(biāo)志和限制位時(shí), 請(qǐng)確認(rèn)沒(méi)有改變這 些保存位.另外,請(qǐng)保證您的程序不依賴于包含特定值的保存位,由于將來(lái)的處理器可能會(huì)將這些位設(shè)置為1或者0.9、AR咻系的異常、中斷及其向量表 P39 異常中斷的進(jìn)入與退出是重中之重 當(dāng)多個(gè)

24、異常同時(shí)發(fā)生時(shí),一個(gè)固定的優(yōu)先級(jí)決定系統(tǒng)處理它們的順序:優(yōu)先級(jí)由高到低優(yōu)先級(jí)異常1復(fù)伺數(shù)據(jù)中止311FIQLk4IRQ5預(yù)取指中止6未定義指令中止6 L軟件中斷異常當(dāng)一個(gè)異常導(dǎo)致模式切換時(shí),內(nèi)核自動(dòng)的做如下處理:即異常的進(jìn)入將異常處理程序的返回地址加固定的偏移量保存到相應(yīng)異常模式下的LR;將CPSR勺當(dāng)前值保存到相應(yīng)異常模式下的SPSR設(shè)置CPS的相應(yīng)的異常模式;設(shè)置PC相應(yīng)異常處理程序的中斷入口向量地址,跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序執(zhí)行;當(dāng)異常處理程序結(jié)束時(shí),異常處理程序必須:即異常的退出返回到發(fā)生異常中斷的指令的下一條指令處執(zhí)行,即就是說(shuō)將LR中的值減去偏移量后移入PC將SPSR勺值復(fù)制回

25、CPSR清零在入口處置位的中斷禁止標(biāo)志.10、ARM#系的存儲(chǔ)系統(tǒng)P48 了解“大端與“小端存儲(chǔ)器系統(tǒng)有兩種映射機(jī)制:小端存儲(chǔ)器系統(tǒng):在小端格式中,數(shù)據(jù)的高字節(jié)存放在高地址中.大端存儲(chǔ)器系統(tǒng):在大端格式中,數(shù)據(jù)的高字節(jié)存放在低地址中.存儲(chǔ)器格式O小瑞存儲(chǔ) 模扎下. 0x12345676 在A地址開(kāi)始 的一個(gè)學(xué)空 問(wèn)的存在'.火耕存儲(chǔ)A+3模扎下A+2 0x12345678A*在A也址開(kāi)始的一個(gè)字安間 A的存鈾:第三章 ARM7TDMI-S指令系統(tǒng)1、ARM#理器的8種尋址方式P52 可能考名詞解釋存放器尋址:操作數(shù)的值在存放器中,指令中的地址碼字段指出的是存放器編號(hào),指令執(zhí) 行時(shí)直接取

26、出存放器值來(lái)操作.存放器尋址指令舉例如下:MOV R1,R2; 將R2勺值存入 R1SUB R0,R1,R2; 將R1的值減去 R2的值,結(jié)果保存到 R0立即尋址:立即尋址指令中的操作碼字段后面的地址碼局部即是操作數(shù)本身,也就是說(shuō),數(shù)據(jù)就包含在指令當(dāng)中,取出指令也就取出了可以立即使用的操作數(shù)這樣的數(shù)稱為立即數(shù).立即尋址指令舉例如下:SUBS R0,R0,#1;R0 減1,結(jié)果放入 R0,并且影響標(biāo)志位MOV R0,#0xFF000 ;將立即數(shù) 0XFF000裝入 R0W存器存放器移位尋址:存放器移位尋址是ARM旨令集特有的尋址方式.當(dāng)?shù)?個(gè)操作數(shù)是存放器移 位方式時(shí),第2個(gè)存放器操作數(shù)在與第1

27、個(gè)操作數(shù)結(jié)合之前, 選擇進(jìn)行移位操作. 存放器移位 尋址指令舉例如下:MOV R0,R2,LSL #3;R2的值左移3位,結(jié)果放入 R0;即是R0=R 8ANDS R1,R1,R2,LSL R3 ;R2的值左移R3,然后和R1相;“與操作,結(jié)果放入 R1存放器間接尋址:存放器間接尋址指令中的地址碼給出的是一個(gè)通用存放器的編號(hào),所需的操作數(shù)保存在存放器指定地址的存儲(chǔ)單元中,即存放器為操作數(shù)的地址指針. 存放器間接尋址指令舉例如下:LDR R1,R2;將R2旨向的存儲(chǔ)單元的數(shù)據(jù)讀出;保存在R1中SWP R1,R1,R2;將存放器R1的值和R2旨定的存儲(chǔ);單元的內(nèi)容交換基址尋址:基址尋址就是將基址存

28、放器的內(nèi)容與指令中給出的偏移量相加,形成操作數(shù)的有效地址.基址尋址用于訪問(wèn)基址附近的存儲(chǔ)單元,常用于查表、數(shù)組操作、 功能部件存放器訪問(wèn)等.基址尋址指令舉例如下:LDR R2,R3,#0x0C;讀取R3+0X0CM址上的存儲(chǔ)單元;的內(nèi)容,放入 R2STR R1,R0,#-4!;先R0=R0-4,然后把R1的值存放;到保存到R0旨定的存儲(chǔ)單元多存放器尋址:多存放器尋址一次可傳送幾個(gè)存放器值,允許一條指令傳送16個(gè)存放器的任何子集或所有存放器.多存放器尋址指令舉例如下:LDMIA R1!,R2-R7,R12;將R1指向的單元中的數(shù)據(jù)讀出到;R2R7、R12中R1自動(dòng)加1STMIA R0!,R2-R

29、7,R12;將存放器R2R7、R12的值保;存到R0旨向的存儲(chǔ);單元中;R0自動(dòng)加1堆棧尋址:堆棧指針指向最后壓入的堆棧的有效數(shù)據(jù)項(xiàng),稱為滿堆棧;堆棧指針指向下一個(gè)待壓入數(shù)據(jù)的空位置,稱為空堆棧.0x12345678 一 .盡我棧底所以可以組合出四種類型的堆棧方式:滿遞增:堆棧向上增長(zhǎng),等;空遞增:堆棧向上增長(zhǎng),滿遞減:堆棧向下增長(zhǎng),等;空遞減:堆棧向下增長(zhǎng),堆棧指針指向內(nèi)含有效數(shù)據(jù)項(xiàng)的最高地址.指令如堆棧指針指向堆棧上的第一個(gè)空位置.指令如 堆棧指針指向內(nèi)含有效數(shù)據(jù)項(xiàng)的最低地址.指令如堆棧指針向堆棧下的第一個(gè)空位置.指令如LDMFA STMFALDMEA STME俸;LDMFD STMFDL

30、DMED STME弟.相對(duì)尋址:相對(duì)尋址是基址尋址的一種變通.由程序計(jì)數(shù)器?既供基準(zhǔn)地址,指令中的地址碼字段作為偏移量,兩者相加后得到的地址即為操作數(shù)的有效地址.相對(duì)尋址指令舉例如下:BL SUBR1;調(diào)用至ij SUBR作程序BEQ LOOP;條件跳轉(zhuǎn)到LOO標(biāo)號(hào)處LOOP MOV R6,#1SUBR12、ARM旨令集中各典型指令的用途P58 小例子:可能考選擇或填空思考與練習(xí).1 .以下8位圖立即教是否合埃?0X0103C000 Xr0x12800000可以由0x4A循球主祥10伐捋利2 ,靖列舉2個(gè)8位圖立即數(shù)?0X4000003B fOxEDZ宣望不右移2伐OxOOIGCOOO rOx

31、$B循玨右移 18住加載指令:LDR/ST -一加載/存儲(chǔ)指令LDM/ST冊(cè)一多存放器加載/存儲(chǔ)指令SWP一存放器和存儲(chǔ)器交換指令數(shù)據(jù)處理指令:見(jiàn)書上P70-71 乘法指令: ARNI指令集乘法指令助ie符說(shuō)明操作條ft碼位置MUL Rd Rm.Rs32位乘沌才冷Rd-Rn*Rs (RdRm)1WL cond SMLA Rd Rm Rs Rn3捻剜時(shí)盼Ed<-RB*Rs+Rn (RdRm)mUcon日格UXfULL RdLoRdHIRm:史64位無(wú)符號(hào)乘法指令(RdLa, RdHi) <-Rm*RsUIULL cond SUXfLAL RdLo;RdHi:Rm:Rs艦位無(wú)符號(hào)乘加指

32、令(RdLEdHp£RiuRs+(R 此RdHi)SIL AL cand SjSMITLL RdLodHi.Rm.RiS4位有符號(hào)乘法指令(RdLo, RdHi)Rm*KsSKILL cond ISSMLAL RdLo;RdHi;Rm:Rs翩位有符號(hào)乘加指令.(KdLoRdHijeftntRs+tR dLo,RdHi)SMLALcond S3、AR而支指令和雜項(xiàng)指令P72-77分支指令:B指令為簡(jiǎn)單的跳轉(zhuǎn)指令,不附帶其它功能.跳轉(zhuǎn)范圍限制在當(dāng)前指令的土32"節(jié)地址內(nèi)ARM旨令為字對(duì)齊,最低2位地址固定為0.BL指令除了具有跳轉(zhuǎn)功能,還能在跳轉(zhuǎn)之前將下一條指令的地址拷貝到R1

33、4即LR鏈接存放器中,它適用于子程序調(diào)用.跳轉(zhuǎn)范圍限制在當(dāng)前指令的土32M字節(jié)地址內(nèi).BX指令除了具有跳轉(zhuǎn)功能,還能在跳轉(zhuǎn)的同時(shí)切換處理器狀態(tài).其跳轉(zhuǎn)范圍不受限制.雜項(xiàng)指令:在ARM旨令集中雜項(xiàng)指令共有3條,它們非常重要,特別是與操作系統(tǒng)的使用息息相關(guān):1. 軟件中斷產(chǎn)生指令:SWI,主要用于用戶程序調(diào)用操作系統(tǒng)的系統(tǒng)效勞.2. 程序狀態(tài)存放器讀指令:MRS對(duì)狀態(tài)存放器CPSR日SPSRJ行讀操作.3. 程序狀態(tài)存放器寫指令:MSR對(duì)狀態(tài)存放器CPSR日SPSRJ行寫操作.4、AR佩指令P78ARM/指令有四條:1. 小范圍地址讀取指令: ADR,將基于PCW對(duì)偏移的地址值或基于存放器相對(duì)偏移

34、的地 址值讀取到存放器中.2. 中等范圍地址讀取指令:ADRL,將基于PCW對(duì)偏移的地址值或基于存放器相對(duì)偏移的 地址值讀取到存放器中,比 ADRJ指令可以讀取更大范圍的地址.3. 大等范圍地址讀取指令:LDR,用于加載32位的立即數(shù)或一個(gè)地址值到指定存放器.4. 空操作指令:NP,在匯編時(shí)將會(huì)被代替成 AR"的空操作,比方可能是“MOV R0,R0 指令等.NOPT用于延時(shí)操作.5、ARM旨令集和Thumb®令集的異同 同:Thumb旨令的格式與使用方式與 ARMH令集類似,它也具有以下種類的指令:存儲(chǔ)器訪問(wèn)指令數(shù)據(jù)處理指令分支指令雜項(xiàng)指令偽指令異:Thumb旨令集較AR

35、M!令集有如下限制:只有B旨令可以條件執(zhí)行,其它指令都不能條件執(zhí)行;分支指令的跳轉(zhuǎn)范圍有更多限制;數(shù)據(jù)處理指令的操作結(jié)果必須放入其中一個(gè);單存放器訪問(wèn)指令,只能操作 R0R7;LD睇日STM旨令可以對(duì)R0R7的任何子集進(jìn)行操作;第四章 LPC2000系列ARMM件結(jié)構(gòu)1、了解硬件結(jié)構(gòu)P90芯片內(nèi)部結(jié)構(gòu)LPC2000S劃祗旋制崟包舍 4大局部:O艾垮仿真的ARM7TDMI-SCPU烏片內(nèi)存儲(chǔ)舞限制思??诘腁RMF,導(dǎo)都總線中既限制器痍口的AMB A焉岐能總焦(AHB)逐琵冷內(nèi)外設(shè)功能的VLSI 外叔總成.(VPB)2、 存儲(chǔ)器重映射的概念及其作用 P106給物理存儲(chǔ)器分配邏輯地址的過(guò)程稱為存儲(chǔ)器

36、映射.將已經(jīng)過(guò)映射的存儲(chǔ)器再次映射的過(guò)程稱為存儲(chǔ)器重映射,它使同一物理存儲(chǔ)單元出現(xiàn)多個(gè)不同的邏輯地址(增加了代碼的可移植性和可通用性).這些存儲(chǔ)單元主要包括引導(dǎo)塊“Boot Block 和用于保存異常向量表的少量存儲(chǔ)單元.弓I導(dǎo)塊(Boot Block )是芯片設(shè)計(jì)廠家在 LPC200曜列ARW部固化的一段代碼,用戶無(wú) 法修改或刪除.這段代碼在芯片復(fù)位后被首先運(yùn)行,其功能主要是:判斷運(yùn)行哪個(gè)存儲(chǔ)器上的程序;檢查用戶代碼是否有效;判斷芯片是否被加密;芯片的在應(yīng)用編程(IAP)以及在系統(tǒng)編程功能(ISP)3、時(shí)鐘部件一一鎖相環(huán)PLL (可能考大題)P126LPC2000系列芯片內(nèi)部均具有PLL電路

37、,娠蕩寇產(chǎn)生的時(shí)鐘Fosc通過(guò)PLL升瀕,可以獲得更高的條統(tǒng)時(shí)鐘CCLKPCLK(Fcclk)PLL頻率計(jì)算:可以得出以下幾個(gè)等式:Fosc = Fcco/(2x px M) a Fcco = Fosc x (2 x px M)Fcclk = Fcco/(2 x p) a Fcco = Fcclk x (2 x p)最后得出PLL的輸出頻率(當(dāng)PLL激活并連接時(shí))為:Fcclk = M x Fosc 或 Fcclk = Fcco / (2 x P)CC函出頻率為:Fcco = Fcclk x 2 x P 或 Fcco = Fosc x MX 2 x PPL成置舉例:系統(tǒng)要求 Fosc= 10M

38、Hz Fcclk = 60MHz根據(jù)這些要求:確定 Fcclk = 60MHz;選擇 Fosc = 10MHz計(jì)算 M= Fcclk/Fosc = 60MHz/10MH卒 6.M-1 = 5,所以寫入 PLLCFG4:0 = 00101;計(jì)算 P=Fcco/( Fcclk*2),其中 Fcco為 156320 MHz 當(dāng) Fcco= 156MHz寸,P=156MHz/(2*60MHz) =1.3 當(dāng) Fcco = 320MHz寸,P=2.67 P取整數(shù)2,所以寫入PLLCFG6:5=01. PLL設(shè)置舉例uint8 PLLSet(uint32 Fcclk.uint32Fo9C. uint32F

39、cco) uint 町ulnt32glldati = (Fccd f Fcclk):swltcnti)case 2:刨域=(盡妙既照-1)I卬"歟break;case 4:break:C3iS 8蜒=(E 見(jiàn)知 f M2break;case 1 &:plldat=(Fcdk/ Fosc) -1)|3 « 5);break;defaultreturn(FALSE): break:PLLCON = 1:PLLCFG =plldat:PLLFEED = Oxaa.PLLFEED = 0x55:whlle(PLLSIAT&(1 « 1.)= 0);PLLC

40、ON = 3:PLLFEED = Oxaa;PLLFEED = 0x55:retum(TRUE):PLL配置過(guò)程】4、外部存儲(chǔ)器限制器EMCX引腳連接模塊P152-1785、GPIO P1796、向量中斷限制器P1887、定時(shí)器0和定時(shí)器1的作用P2228、I 2 C接口的操作模式 P2719、UARTCft UART1 勺用法和區(qū)別P276UART0只提供TXD和RXD言號(hào)引腳,而 UART1增加了一個(gè)調(diào)制解調(diào)器Modem接口,其余 二者都是完全相同的:16字節(jié)接收FIFO和16字節(jié)發(fā)送FIFO;存放器位置符合16C550工業(yè)標(biāo)準(zhǔn);接收FIFO觸發(fā)點(diǎn)可設(shè)置為1、4、8或14字節(jié);內(nèi)置波特率發(fā)

41、生器;UART官有標(biāo)準(zhǔn)調(diào)制解調(diào)器接口信號(hào).10、A/D轉(zhuǎn)換器、脈寬調(diào)制器PWM日實(shí)時(shí)時(shí)鐘RTC第六章 pC/OS-II程序設(shè)計(jì)根底1、任務(wù)的分類、劃分和優(yōu)先級(jí)安排 P395按執(zhí)行方式可將任務(wù)分類以下三類:任務(wù)的分類void MyTaskvoid *pdata三務(wù)實(shí)體代碼;調(diào)用任務(wù)刪除函數(shù);1. 單次尬符類任務(wù)/ 單次執(zhí)每奕任務(wù)創(chuàng)a、 廠、,陳J一4定義和初始化變量及硬件設(shè)備、完成該任務(wù)的具體皂能 將自己摒蛛,操作系統(tǒng)將不再承閔任務(wù)的分類2. 周期執(zhí)行類任務(wù)任密備卷局void MyTask(voiid *pdata) 二三自任工:攔:王;while (1) 件務(wù)突仔弋駕;.調(diào)用系統(tǒng)延時(shí)函數(shù):)任

42、務(wù)的分類3.事件觸發(fā)執(zhí)符類任務(wù)運(yùn)行狀態(tài)void MyTask (void *pdata)消息就緒狀態(tài)運(yùn)行狀態(tài)任務(wù)優(yōu)先級(jí)足夠高進(jìn)行準(zhǔn)備工作的代碼;while (1)(謂用表氧事件的函數(shù): 任務(wù)實(shí)體代碼;等侍信號(hào)量或消息 完成具體易能任務(wù)的劃分:目標(biāo)1. 首要目標(biāo)是滿足“實(shí)時(shí)性指標(biāo):即使在最壞的情況下,系統(tǒng)中所有對(duì)實(shí)時(shí)性有要求的功能都能夠正常實(shí)現(xiàn);2. 任務(wù)數(shù)目合理:對(duì)于同一個(gè)應(yīng)用系統(tǒng), 合理的合并一些任務(wù), 使任務(wù)數(shù)目適當(dāng)少一些還是 比擬有利;3. 簡(jiǎn)化軟件系統(tǒng):一個(gè)任務(wù)要實(shí)現(xiàn)其功能,除了需要操作系統(tǒng)的調(diào)度功能支持外, 還需要操 作系統(tǒng)的其它效勞功能支持,合理劃分任務(wù),可以減少對(duì)操作系統(tǒng)的效勞要

43、求, 簡(jiǎn)化軟件系 統(tǒng);4. 降低資源需求:合理劃分任務(wù),減少或簡(jiǎn)化任務(wù)之間的同步和通信需求,就可以減少相應(yīng) 數(shù)據(jù)結(jié)構(gòu)的內(nèi)存規(guī)模,從而降低對(duì)系統(tǒng)資源的需求.任務(wù)的優(yōu)先級(jí)的安排原那么中斷關(guān)聯(lián)性:與中斷效勞程序ISR有關(guān)聯(lián)的任務(wù)應(yīng)該安排盡可能高的優(yōu)先級(jí),以便及時(shí)處理異步事件,提升系統(tǒng)的實(shí)時(shí)性.如果優(yōu)先級(jí)安排得比擬低,CPIW可能被優(yōu)先級(jí)比擬高的任務(wù)長(zhǎng)期占用,以致于在第二次中斷發(fā)生時(shí)連第一次中斷還沒(méi)有處理,產(chǎn)生信號(hào)喪失現(xiàn)象;緊迫性:由于緊迫任務(wù)對(duì)響應(yīng)時(shí)間有嚴(yán)格要求,在所有緊迫任務(wù)中,按響應(yīng)時(shí)間要求排序, 越緊迫的任務(wù)安排的優(yōu)先級(jí)越高.緊迫任務(wù)通常與ISR關(guān)聯(lián);關(guān)鍵性:任務(wù)越關(guān)鍵安排的優(yōu)先級(jí)越高,以保證其執(zhí)行時(shí)機(jī);頻繁性:對(duì)于周期性任務(wù),執(zhí)行越頻繁,那么周期越短,允許耽誤的時(shí)間也越短,故應(yīng)該安排 的優(yōu)先級(jí)也越高,以保證及時(shí)得到執(zhí)行;快捷性:在前面各項(xiàng)條件相近時(shí),越快捷耗時(shí)短的任務(wù)安排的優(yōu)先級(jí)越高,以使其它就 緒任務(wù)的延時(shí)縮短

溫馨提示

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

評(píng)論

0/150

提交評(píng)論