码迷,mamicode.com
首页 > 其他好文 > 详细

STM32F3, STM32F4编程手册

时间:2020-04-02 19:55:56      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:模型   stack   处理异常   handle   必须   cti   system   ted   cps   

技术图片

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

技术图片

 

 技术图片

 

技术图片

 

 

 技术图片

 

 技术图片

 

 

技术图片

 

 

 技术图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

STM32F3, STM32F4编程手册

标签:模型   stack   处理异常   handle   必须   cti   system   ted   cps   

原文地址:https://www.cnblogs.com/qiyuexin/p/12622460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!