Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407467
  • 博文数量: 27
  • 博客积分: 470
  • 博客等级: 一等列兵
  • 技术积分: 546
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-24 11:51
文章存档

2016年(12)

2012年(15)

分类: 嵌入式

2016-05-26 19:57:43

1.Cortex-M4复位

堆栈指针寄存器SP

堆栈指针SP是寄存器R13,CONTROL寄存器BIT1的值指示当前用的哪个堆栈指针:

0指示主堆栈指针MSP,复位时就是这个值;

1指示是过程堆栈指针PSP;

复位的时候,处理器从地址0X00000000处装载主堆栈指针MSP的值。

image

image

image

image

链接寄存器LR

链接寄存器LR是寄存器R14,它用来存储子程序,中断的返回地址等的返回地址,复位时此寄存器的值为0xffffffff

image

程序计数器PC

程序计数器PC是寄存器R15,他包含了当前程序的地址。在复位时,处理器从复位向量装载PC的值,复位向量值的BIT0被装载到EPSR的T,而且必须是1,中断向量的地址是0X00000004

image

image

image

程序状态寄存器PSR

包括

应用程序状态寄存器APSR

中断程序状态寄存器IPSR

异常程序状态寄存器EPSR

image

image

image

image

image


image

2.Cortex-M4中断处理

Cortex-M中断处理的过程和普通函数的处理没有什么区别,所以,

__IRQ,__FIQ,__nested等关键字是不需要的,也是不起作用的。

阅读(2826) | 评论(0) | 转发(0) |
0

上一篇:buildroot makefile文件理解笔记(一)

下一篇:没有了

给主人留下些什么吧!~~