STM32F3, STM32F4編程手冊


 1. Cortex-M4的內核設備

  • NVIC, Nested vectored interrupt controller
  • SCB, System control block
  • SysTick, The system timer
  • MPU, Memory protection unit
  • FPU, Floating-point unit

 

2. 程序員模型

2.1 處理器模式

  • Thread mode, 用於執行軟件程序(可由CONTROL寄存器控制是否享有特權),復位后自動進入。
  • Handler mode: 用於處理異常,此處的程序總是享有特權,處理完成后返回Thread 模式。

 

2.2 軟件執行的特權等級

  • Unprivileged,沒有特權的:
    • 限制訪問MSR、MRS指令,不能使用CPS指令
    • 不能訪問SysTick, NVIC, SCB
    • 可能訪問內存、外設受限
    • 必須使用SVC指令來調用管理程序將控制權轉移到特權軟件
  • Privileged

 

2.3 堆棧

處理器使用一個完全遞減的堆棧,並裝配兩個:main stack 和 process stack, 具有main stack指針的獨立副本。

在Thread 模式下,由CONTROL控制使用哪一個堆棧;在Handler模式下,一直使用main堆棧。

 

 

 

2.4 內核寄存器

 

 

 

 

  • R0~R12, 32位通用寄存器,用於數據操作 
  • R13, SP, 堆棧指針,由CONTROL[1]控制: 0為MSP, 1為PSP
  • R14, LR,Link Register: 它保存着副程序、函數及異常的返回信息
  • R15, PC, Program Counter: 包含着當前代碼的地址,復位時會自動裝載在地址0x00000004的復位向量的值。
  • PSR, 程序狀態寄存器,包含着應用程序狀態寄存器(APSR)、中斷程序狀態寄存器(IPSR)、執行程序狀態寄存器(EPSR)

APSR, IPSR, EPSR這3個寄存器接合在PSR中,可以單獨訪問,也可以組合訪問,比如:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM