文件名称:
Cortex-M内核系列和STM32-讲座2.pdf
开发工具:
文件大小: 818kb
下载次数: 0
上传时间: 2019-09-14
详细说明:Cortex-M内核系列和STM32-讲座2向量表
■向量表定义了中断的处理例程的入凵地址。缺省情况下,认为向量表位于
零地址处
响应中断时,会根据中断号从表中找出对应的中断处理程序的入口地址
每个表项占用字节
■位置
处保存的是的初始值
中断向量表
中断向量表的跳转
用户程序
地址
编号值(字节大小)
初始值
复位向量地址
异常处理程序起始地址
到中断向量表取
跳转执行中断处
中断处理程序的
中断向量表
理程序
入口地址
硬异常处理程序起始地
址
口地址
中断处理程序起始地
址
中断处理
复位向量
程序起始地址
存储器地址
的初始值
life. augmentor
支持个
向量表
系统异常和个中断
VECTOR cE上1
DCD
sfe(CsTACE.
地址
编号值(字节大小)
DCD
Reset anc
Reset Handle
初始值
DCD
lM工E道Ler
工五a]
Harder21且 andler
Hard fault handler
DCD
Memn到ge且 andler
mpu Fault handler
复位向量地址
DCD
Busault andle
Bus Fault handler
U彐agE1t日anc-e¥
gasE凵an些
异常处理程序起始地址
由
Hs8日vea
u0
Roscrvcd
定义
Resered
硬异常处理程序起始地址
Reserved
DCD
svC Candler
SCAll Handler
DEAUC-T FaTaL∈r
F Debug Monito2 Handler
DCD
0
Reserved
DCD
Fends hardle
Bends handler
TCD
stIr:k Hrr iIHl
SyNTIr:k Frr!ler
中断处理程序起始地
址
xt母na⊥ntE
DCD
WWDG二3Han1er
W⊥ ndow watchDog
起始地址
DCD
VD IRCHardler
PVD through EXTI Line detection
工AM5TA性 ARCAnd1er
Tamper and Timestamps througi the EXTI line
RIC EE工 RHEL1e¥
Rrc『 takeup thy2 ugn the EA江I1:2
时间戳侵入中断起始
DCD FLASE IRQEandlEr
地址
RCC IRCHordlcy
RCC
DCD
ETIC玉gd1:r
EI Ine
唤醒中断起始地址
由
定义
仝局中断起始地址
2台fTsn②nhan21 s SYSTICK HaN21X
t Param None
Retral one
全局中断起始地址
void SysTick Handler (void)
中断起始地址
fimingDelay Decrement(;
life. augmentor
向量表中的初始值和复位向量
离开复位状态时,首先要做的是读取下面两个值:
■从地址
取出主堆栈指针的值
从地址
取出复位向量程序开始执行的地
址,必须是)
Fetch Initial Fetch reset
Instruction
SP Value
/ector
Fetch
Address
Address
Address
Reset
0x000000000x00000004
Reset vector
Time
life. augmentor
及初始化举例
地址范围
初始化的值,指向
栈空
地址范围
必须保证加载到的数值是奇数
),用以表明这是在
状态下执行
函数
跳转执行网数
取出复位向量,执
函数实际开始地址
程序
Mdl
PUSH
Rd le
P #05 4
nz 800043n·nxF?ff「:fP5rRT
HAT T
BSP LED I:1tLED3)
文件中,函数的地址
复位
〓A⊥L
凵 AUUUUUL:
Orbe Code c
1TT"+1
吧2 mirror2A
life. augmentor
存储器系统
编程模式
中断及其处理
中断及中断向量表
向量表重定位
中断优先级
中断响应过程
咬尾机制
晚到机制
中断延迟
低功耗模式
存储保护单元
life. augmentor
向量表重定位
可以通过修改“向量表偏移量寄存器”来重定位向量表
向量表的起始地址的限制。必须先求出系统屮共有多少个向量,再把该数字向
上“圆整”到的整次幂,而起始地址必须对齐到后者的边界上。例如:一共有
个屮断,则共有
个向量,向上圆整到的整次幂后值为,因此向
量表重定位的地址必须能被
整除。合法的起始地址可以是:
等
只能在特权级下访问
向量表偏移量寄存器地址:
位
名称
类型复位值描述
向量表只能放在内
向量表是在
部和区
是区
向量表的起始地址
life. augmentor
向量表重定位在中的使用
什么是?
在应用编程
需要准畚两个程序:
程序:不执行正常的功能操作,只通过某种
方式接受上位机的数据,来对第二段程序进行更
烧入
用户程序
新
用户程序:真正的功能代码
程序放在的起始位置,上电首先执行。用户
程序代码放在:程序后面
用户程序的中断向量表
用户程序开始执行前,要把的向量表映射到自己
的向量表位置
程序
或烧入
程序的中断向量表
life. augmentor
向量表重定位在中的使用
启动流程
用户程序的中断
响应过程,使用的
用户程序初始化,将向量表重定位到
是用户程序的向量
用户程序的向量表位置
表
用户程序
用户程序
执行完程序
用户程序
后初始化用户程序
用户程序
的栈指针
取出用户程序的复
位中断程序地址,
程序
开始执行
程序
从的复位中断程
序廾始执行程序
上电复位,跳
到的向量表
》用户程序运行
程序运行
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.