没有合适的资源?快使用搜索试试~ 我知道了~
首页C6000 DSP 中断的使用
资源详情
资源评论
资源推荐

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














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0