02-第二章Cortex-M3處理器編程模型ppt課件_第1頁
02-第二章Cortex-M3處理器編程模型ppt課件_第2頁
02-第二章Cortex-M3處理器編程模型ppt課件_第3頁
02-第二章Cortex-M3處理器編程模型ppt課件_第4頁
02-第二章Cortex-M3處理器編程模型ppt課件_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第二章第二章 Cortex-M3 處置器編程模型處置器編程模型l2.1 處置器任務方式及形狀l2.2 存放器l2.3 數據類型與存儲器格式l2.4 指令集l2.5 系統(tǒng)控制存放器2.1 處置器任務方式及形狀處置器任務方式及形狀lCortex-M3處置器有 Thread 和 Handler 兩種任務方式:l在重啟時,處置器進入 Thread 方式,在從異常前往時也可進入 Thread 方式。Thread方式下代碼可以特權方式和用戶方式運轉。l當系統(tǒng)產生異常時,處置器進入 Handler 方式。在 Handler 方式下一切代碼必需都是特權代碼。2.1 處置器任務方式及形狀處置器任務方式及形狀lC

2、ortex-M3 處置器可以在 Thumb 和 Debug 兩種操作形狀下任務:lThumb 形狀,此形狀是正常執(zhí)行 16 位和 32 位半字對齊的 Thumb 和 Thumb-2 指令時所處的形狀。lDebug調試形狀,是在調試時的形狀。2.1.1 特權訪問和用戶訪問特權訪問和用戶訪問l代碼可以特權和非特權方式執(zhí)行l(wèi) l當系統(tǒng)發(fā)生異常,處置器進入Handler 方式時,代碼往往是特權方式的;l而當處置器在 Thread 方式下時,那么代碼可以是特權的也可以是非特權的。2.1.1 特權訪問和用戶訪問特權訪問和用戶訪問l當處置器復位進入 Thread 方式后,代碼均為特權的。l當處置器在 Thr

3、ead 方式下時,可以從特權方式切換到用戶方式,但不能從用戶方式前往到l 特權方式。l在 Thread 方式下只需進展異常處置時,處置器進入 Handler 方式,才干由用戶方式切換到特權方式。2.1.2 main 棧和棧和process 棧棧l cortex-M3 處置器可以運用兩個堆棧:主main棧和進程process棧。在系統(tǒng)復位之后,一切代碼都運用 main 棧。l棧指針存放器 r13 為分組Banked存放器,用于在 SP_main 和 SP_process 之間切換,任何時候僅有一個棧可見。2.1.2 main 棧和棧和process 棧棧l有些異常處置如SVC,可以經過在其前往時

4、修正EXC_RETURN值,將Thread 方式下其所運用的棧從 main 棧切換到 process 棧。而其它異常那么繼續(xù)運用 main棧。l還可以經過運用指令MSR寫CONTROL1位來從 main 棧切換到 process 棧。2.2 存放器存放器Cortex-M3 處置器有 20 個 32 位存放器:13 個通用存放器,r0-r12;分組棧指針存放器, r13;鏈接存放器,r14;程序計數器,r15;程序形狀存放器,xPSR。2.2 存放器存放器2.2.1 通用存放器通用存放器l存放器 r0-r7 為低存放器,可被一切指令訪問l存放器 r8-r12 為高存放器,可以被一切的 32 位指

5、令訪問,但不能被 16 位指令訪問。l存放器r13被用于棧指針:由于 SP忽略位1:0,因此它自動對齊為一個字,即4字節(jié)。2.2.1 通用存放器通用存放器l存放器r14是子程序鏈接存放器LR:當執(zhí)行帶鏈接的跳轉指令BL或帶鏈接及形狀切換的跳轉指令BLX 時,LR將保管PC作為前往地址。LR 也用于異常前往。在其它時候,可以把r14存放器當作通用存放器來運用。l存放器 r15 為程序計數器,其位0總為 0,由于指令按字或半字對齊。2.2.2 程序形狀存放器程序形狀存放器(xPSR)l在系統(tǒng)層,處置器形狀可分為三種類型:Application、Interrupt 和 Execution,與之對應有

6、 3 個程序形狀存放器: APSR、IPSR 和 EPSR。l可以運用 MRS 和 MSR 指令單獨訪問這些存放器的其中一個或多個。在進入異常時,處置器會把這三個存放器的信息入棧。APSRlAPSR 包含程序的條件標志。l在進入一個異常之前,處置器將程序條件標志保管到堆棧中??梢越涍^指令MSR(2)和 MRS(2)訪問APSR。APSR 位分配位分配 IPSRIPSR 包含了當前正在執(zhí)行的中斷效力子程序ISR號: IPSR 位分配位分配 EPSRlEPSR 內部包含兩個重疊的區(qū)域:l中斷可繼續(xù)指令ICI區(qū)域。批量加載和批量保管指令LDM、STM可被中斷,該區(qū)域用于保管相關信息,這些信息在前往被

7、中斷的批量加載或批量存儲操作時運用;lIf-ThenIT指令區(qū)域以及 Thumb 形狀位T-位,用于保管If-Then指令執(zhí)行的形狀位。EPSRlEPSR 不能被直接訪問,只需兩種事件可以修正EPSR:l 在執(zhí)行指令LDM 或 STM 指令的過程中 有中斷到來;l 執(zhí)行 If-Then 指令。EPSR 位分配位分配2.3 數據類型與存儲器格式數據類型與存儲器格式lCortex-M3 既可運用大端格式也可運用小端格式訪問存儲器。lCortex-M3 處置器有一個可配置引腳 BIGEND,用來選擇小端格式或大端格式。l通常是以小端格式訪問代碼,小端格式是ARM 處置器的默許存儲器格式。小端數據格式小端數據格式大端數據格式大端數據格式留意留意l對系統(tǒng)控制區(qū)域的訪問通常是小端格式;l在系統(tǒng)復位處置之后更改大小端格式是無效的;l公用外設總線PPB區(qū)域必需為小端格式,與 BIGEND 引腳的設置無關。2.4 指令集指令集lCortex-M3 處置器能支持一切的 16 位 Thumb 指令集和根本32 位 Thumb-2 指令集。l各個指令的引見可查閱 ARM 相關資料。2.5 系

溫馨提示

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

評論

0/150

提交評論