RT1050开发--第1节 ARM Cortex-M7体系结构
第一节 ARM Cortex-M7体系结构
认识ARM

A系列 – 移动的王者

M系列 – 无处不在



Cortex-M7介绍

规格特点

对外接口

Cortex-M7 编程模型
运行模式

所有M系列都是这两个模式:线程模式 + 处理模式(中断模式)
即:主程序都是在线程模式,中断处理函数都是处理模式,处理模式下拥有特权;
操作状态

即:一个运行,一个调试;
特权访问和非特权访问

特权访问:即可以触碰到CPU所有的资源;非特权访问有些资源碰不到!
线程模式一般就是非特权的,处理模式都是特权的!
系统的地址映射

0x0000_0000 ~ 0xFFFF_FFFF 一共 4GB;
Code : 即 ROM;
SRAM:即数据;
Peripheral:放外设,M7把代码、数据、外设 都映射到同一片地址空间;
External RAM: 外部存储器!
External device:外部设备
内部私有外设总线;
外部私有外设总线;–》 M7内核的;
处理器的核心寄存器

R13栈指针一个寄存器映射两个区域:MSP
和 **PSP
**;
纯裸机编程时,只有一个栈,所以只有MSP主栈指针;
FreeRTOS才会用到PSP进程栈指针;
异常


ARM的异常处理流程:
- 1– 保存当前程序的上下文,即:xPSR、PC、LR、R0-R3,R12;
- 通过MSP或者PSP读取地址,把这些寄存器全都入栈,就保存了下来;
- 2– 把当前要返回的地址放在LR链接寄存器中;
- 3a– 切换模式,从线程模式切换到处理模式;
- 3b– 指针指向新的栈顶;
- 4– 找到该中断的向量地址,赋值给PC指针,执行中断处理函数;
RT1050开发--第1节 ARM Cortex-M7体系结构
https://dustofstars.github.io/NXP/RT1050/rt1050开发-第1节-arm-cortex-m7体系结构/