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指针,执行中断处理函数;
作者

Gavin

发布于

2023-12-04

更新于

2023-12-04

许可协议

CC BY-NC-SA 4.0

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×