ARM处理器基础Cortex-M4

处理器模式分为线程模式和处理模式;软件执行分特权模式和非特权模式(用户模式);堆栈分为MSP Main主堆栈和PSP Program程序堆栈。

处理模式下,总是为特权,总是使用主堆栈。

线程模式下,可设置是特权还是用户(CONTROL Reg[0]),可设置使用主堆栈还是程序堆栈(CONTROL Reg[1])。

PM0214,Programming manual,STM32F3 and STM32F4 Series Cortex ® -M4 programming manual,p16

The processor modes are:
  Thread mode: Used to execute application software.
    The processor enters Thread mode when it comes out of reset.
    The CONTROL register controls whether software execution is
    privileged or unprivileged, see CONTROL register on page 24.
  Handler mode: Used to handle exceptions.
    The processor returns to Thread mode when it has finished exception
    processing.
    Software execution is always privileged.

The privilege levels for software execution are:

  Unprivileged: Unprivileged software executes at the unprivileged level and:
    • Has limited access to the MSR and MRS instructions, and cannot
    use the CPS instruction
    • Cannot access the system timer, NVIC, or system control block
    • Might have restricted access to memory or peripherals
    • Must use the SVC instruction to make a supervisor call to transfer control to privileged software
  Privileged: Privileged software executes at the privileged level and can use all the
    instructions and has access to all resources.
    Can write to the CONTROL register to change the privilege level for
    software execution.

In an OS environment, it is recommended that threads running in Thread mode use the process stack and the kernel and exception handlers use the main stack.

https://blog.csdn.net/qq_31073871/article/details/80399334

https://blog.csdn.net/u013477200/article/details/50715621

在复位后,处理器处于线程模式+特权级;

特权到用户:在特权级下的代码可以通过置位CONTROL[0]来进入用户级。

用户到特权:用户级的程序不能简简单单地试图改写 CONTROL寄存器就回到特权级,它必须先“申诉”:执行一条系统调用指令(SVC)。这会触发SVC异常,然后由异常服务例程(通常是操作系统的一部分)接管,如果批准了进入,则异常服务例程修改 CONTROL寄存器,才能在用户级的线程模式下重新进入特权级。 事实上,从用户级到特权级的唯一途径就是异常。

原文地址:https://www.cnblogs.com/yanhc/p/12643953.html

时间: 2024-08-05 02:51:05

ARM处理器基础Cortex-M4的相关文章

Arm处理器寄存器介绍及汇编基础

1. ARM处理器支持7种工作模式 · User (usr): The normal ARM program execution state· FIQ (fiq): Designed to support a data transfer or channel process· IRQ (irq):    Used for general-purpose interrupt handling· Supervisor (svc):   Protected mode for the operating

热烈祝贺华清远见《ARM处理器开发详解》第2版正式出版

2014年6月,由华清远见研发中心组织多名业 内顶尖讲师编写的<ARM处理器开发详解>一书正式出版.本书以S5PV210处理器为平台,详细介绍了嵌入式系统开发的各个主要环节,并注重实践,辅以 代码讲解,从分析的角度来讲解嵌入式开发的各种技术,将嵌入式软.硬件理论和嵌入式实验实践融合在一起. 华清远见作为国内最早推出嵌入式培训的机构,到 目前为止教学采用的实验平台.图书.课件全部来自自主研发,成为业内唯一公开连续出版图书的培训机构.这次最新出版的<ARM处理器开发详解>同样秉承了 华

ARM 处理器架构【转】

ARM 处理器架构 转自:http://www.arm.com/zh/products/processors/instruction-set-architectures/index.php ARM 架构是构建每个 ARM 处理器的基础.ARM 架构随着时间的推移不断发展,其中包含的架构功能可满足不断增长的新功能.高性能需求以及新兴市场的需要.有关最新公布版本的信息,请参阅 ARMv8 架构. ARM 架构支持跨跃多个性能点的实现,并已在许多细分市场中成为主导的架构.ARM 架构支持非常广泛的性能

1.ARM的基础知识

ARM简述 ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权.ARM技术具有很高的性能和功效,因而容易被厂商接受.同时,合作伙伴的增多,可获得更多的第三方工具.制造和软件支持,这又会使整个系统成本降低,让产品进入市场的时间加快,从而具有更大的竞争优势. 一.ARM技术的应用领域及其特点 采用ARM技术IP核的微处理器遍及汽车.消费电子.成像.工业控制.海量存储.网络.安保和无线等各类产品市场. 1.什么是IP核? IP核是指拥有知识产权的控制功能单元.(IP核是一段具有特定电路功能的硬件

ARM汇编基础(iOS逆向)

1. ARM汇编基础 在逆向一个功能的时候,往往需要分析大量的汇编代码,在iOS逆向中,ARM汇编是必须掌握的语言,本文总结了ARM汇编的基础知识,如果你想了解更多,请参考狗神的小黄书<iOS逆向逆向工程>或ARM官方手册. 1.1 寄存器,内存和栈 在ARM汇编里,操作对象是寄存器,内存和栈 ARM的栈遵循先进后出,是满递减的,向下增长,也就是开口向下,新的变量被存到栈底的位置;越靠近栈底,内存地址越小 一个名为stackPointer的寄存器保存栈的栈底地址,成为栈地址. 可以把一个变量给

arm处理器的历史及现状

1 arm处理器的发展历史 arm1 arm2 arm3 arm6 arm7 arm9 arm11 arm cortex 2 arm处理器现状 arm cortex A a即application,即应用处理器,主要用在智能手机.平板电脑和服务器上. arm cortex M m即mcu,即单片机上的处理器,它的特点就是成本低,功耗低. arm cortex R r即real time,用于实时性要求高的领域,比如汽车.

STM32F4xx -- Cortex M4

STM32F4xx official page: http://www.st.com/internet/mcu/subclass/1521.jspIntroductionFPU - Floating point benefits DSP - benefitsPricePortfolioTutorial Application Notes, Manuals, etc Software ToolsEvaluation Board STM32446E-EVAL - Evaluation board w

ARM处理器的寄存器

在ARM体系中通常有以下3种方式控制程序的执行流程: **在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节:每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节.整个过程是按顺序执行. **跳转指令,程序可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行.其中,B指令用于执行跳转操作:BL指令在执行跳转操作同时,保存子程 序的返回地址:BX指令在执行跳转操作同时,根据目标地址为可以将程序切换到Thumb状态:BLX指令执行3个操作,跳转到目标地址处执行,

从ARM处理器,看“贵云黔芯”国产自主安全解决方案

刚刚结束的2018数博会上,云宏与战略合作伙伴华芯通携手亮相,为观展嘉宾介绍了一套面向政府.机关和行业客户的国产自主安全云建设项目解决方案--"贵云黔芯".凭借云宏国内领先的云计算大数据关键技术及华芯通在ARM服务器芯片领域坚实的技术研发实力,双方共造基于高性能.低功耗ARM架构服务器搭建的应用云平台自主安全可控项目,旨在联合上下游资源,贯彻落实国家"自主.安全.可控"信息化战略部署实际行动. "贵云黔芯"云建设项目解决方案利用ARM 服务器芯片