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中,可以单独访问,也可以组合访问,比如:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-04-02 19:24  QIYUEXIN  阅读(1885)  评论(0编辑  收藏  举报