没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
2018.11 于哈工程水声楼
参考文献:hps://yq.aliyun.com/ziliao/553739
中断使用步骤:
1. 相应寄存器的别名定义
2. 硬件参数初始化
3. 中断优先级配置
4. 中断向量表 vector.asm 的编写
5. 中断向量表 vector.asm 的安装
6. 中断服务函数的编写
7. 中断测试
1. 准备工作——相应寄存器的别名定义
即给相应寄存器地址起字面可理解的别名,新建一个
global.h
文件在其中完成该项工作
1.1 声明控制寄存器(对 实现中断开启中断使能等操作的寄存器 的定义)
extern cregister volatile unsigned int AMR; /* Address Mode Register */
extern cregister volatile unsigned int CSR; /* Control Status Register
可使能全局中断
*/
extern cregister volatile unsigned int IFR; /* Interrupt Flag Register */
extern cregister volatile unsigned int ISR; /* Interrupt Set Register */
extern cregister volatile unsigned int ICR; /* Interrupt Clear Register */
extern cregister volatile unsigned int IER; /* Interrupt Enable Register
开启某中断
*/
extern cregister volatile unsigned int ISTP; /* Interrupt Service Tbl Ptr*/
extern cregister volatile unsigned int IRP; /* Interrupt Return Pointer */
extern cregister volatile unsigned int NRP; /* Non-maskable Int Return Ptr*/
extern cregister volatile unsigned int IN; /* General Purpose Input Reg*/
extern cregister volatile unsigned int OUT; /* General Purpose Output Reg */
1.2 中断选择寄存器的别名定义(功能:为具有逻辑意义中断设置相应优先级)
#define MUXH MUXH 寄存器的 16 进制地址
#define MUXL MUXL 寄存器的 16 进制地址
#define EXTPOL EXTPOL 寄存器的 16 进制地址
/*MUXH 是高 32 位,MUXL 是低 32 位,两者构成一个 64 位二进制数。该二进制数的
位从高位到低位 5 个一组合分别作为 INT15~INT4(优先级从低到高)的中断来源码的
填充位,中断来源码是具有逻辑意义中断的编号,如下
中断来源选择码定义如下:(此内容可以通过帮助中搜索
INTSEL
得到)
INTSEL(Interrupt Selection Number Deion)
00000b DSPINT Host port host to DSP interrupt
资源评论
Andy黄先森
- 粉丝: 2
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功