一、参考DSP281x_Device.h
#define  EINT   asm(" clrc INTM")  //INTM置0,开中断
#define  DINT   asm(" setc INTM")  //INTM置1,关中断
#define  ERTM   asm(" clrc DBGM")  //使能调试事件
#define  DRTM   asm(" setc DBGM")  //禁止调试事件
二、参考《TMS320C28x DSP CPU和指令集参考指南》中对INTM和DBGM的解释
1、DBGM
Bit 1:调试启用屏蔽位。当DBGM置位时,仿真器无法在实时状态下访问内存或寄存器。调试器无法更新其窗口。
    在实时调试模式中,若DBGM = 1,则CPU忽略停止请求或硬件断点,直到DBGM清零。DBGM并不阻止CPU停止在软件断点。这点的一个影响可以在实时调试模式中看到。如果你在实时调试模式中单步执行一个指令,并且这条指令置位DBGM,CPU继续执行指令,直到DBGM被清零。
    当你给TI调试器“实时”命令时(进入实时模式),DBGM强制为0。令DBGM = 0确保了允许调试和测试直接内存访问 (DT-DMAs);内存和寄存器的值可传递到主处理器,用于更新调试器窗口。
    CPU在执行中断服务程序(ISR)之前将DBGM置位。当DBGM = 1时,来自主处理器和硬件断点的停止请求被忽略。如果你想要单步执行程序或在对时间要求不严格的ISR中设置断点,那么你必须在ISR的开始处增加一条CLRC DBGM指令。
    DBGM主要用在时间要求严格的程序代码部分的仿真,来阻止调试事件。DBGM使能或禁止调试事件,如下:
0   调试事件使能。
1   调试事件禁止。
    当CPU响应中断时,DBGM的当前值存储到堆栈中(当ST1存储在堆栈中时),然后DBGM置位。当由中断返回时,DBGM由堆栈中恢复。
    此位可分别由SETC DBGM指令和CLRC DBGM指令复位和清零。DBGM在中断操作期间被自动置位。复位时,DBGM置位。执行ABORTI (中止中断)指令也可以将DBGM置位。
2、INTM
Bit 0:中断全局屏蔽位。此位从全局上使能或禁止所有可屏蔽CPU中断(那些可由软件阻止的中断):
0   可屏蔽中断被全局使能。为了被CPU认可,则可屏蔽中断也必须被中断使能寄存器(IER)局部使能。
1   可屏蔽中断被全局禁止。即使一个可屏蔽中断被IER局部使能,也不会被CPU认可。
    INTM对非可屏蔽中断没有影响,包括硬件复位或软件复位中断NMI。此外,当CPU在实时仿真模式下被停止时,由IER和DBGIER使能的中断将被响应,即使INTM设置为禁止可屏蔽中断。
    当CPU响应中断时,INTM的当前值存储到堆栈中(当ST1存储在堆栈中时),然后INTM置位。当由中断返回时,INTM由堆栈中恢复。
    此位可分别由SETC INTM指令和CLRC INTM指令复位和清零。复位时,INTM置位。INTM的值不会引起中断标志寄存器(IFR)、中断使能寄存器(IER)或调试中断使能寄存器(DBGIER)的改变。

EINT、DINT、ERTM、DRTM和INTM、DBGM解析相关推荐

  1. DSP-C28x 理解INTM、DBGM、EALLOW、EDIS

    参考手册:TMS320C28x DSP CPU and Instruction Set Reference Guide 代码位置:Dsp2803x_Device.h #define EINT asm( ...

  2. dsp 中INTM、DBGM、EALLOW、EDIS含义

    官方提供的dsp281x_devices.h中有汇编写的部分指令,记录下含义 #define EINT asm(" clrc INTM") #define DINT asm(&qu ...

  3. _iq16 c语言,[转载]【转】IQMATH使用

    IQMATH使用 作者:冷眼心热 1 IQmath库 为了应用IQmath,首先要从TI官方网站下载IQmath库,文档名称为SPRC087.我们主要应用库里面的:IQmath.cmd,IQmathL ...

  4. EALLOW和EDIS指令的使用

    1.EALLOW与EDIS 汇编指令 #define EALLOW __asm("EALLOW") #define EDIS __asm("EDIS") #de ...

  5. TMS320F28335项目开发记录9_28335之中断系统

    TMS320F28335项目开发记录9_28335之中断系统 2014年11月08日 12:00:12 阅读数:3104 28335中断系统 1.中断系统 在这里我们要十分清楚DSP的中断系统.C28 ...

  6. 可移植bit-field与driverlib兼容的C2000控制器工程模板创建及SysConfig配置

    可移植bit-field与driverlib兼容的C2000控制器工程模板创建及sysconfig配置 前言 步骤 创建工程 库函数支撑文件拷贝 寄存器支撑文件拷贝 SysConfig配置 总结 20 ...

  7. TI C28x DSP的中断嵌套

    介绍 一个常见的问题是 C28x 中断是否可以嵌套.本文解释了如何通过对中断服务例程 (ISR) 代码进行简单更改来实现中断嵌套. 本文假设读者已经熟悉以下内容: C28x PIE 模块:控制寄存器. ...

  8. F28335中断系统详解及其应用

    最近导师的项目中要应用到DSP F28335,由于之前一直对f28335的中断不是很理解,所以花了一点时间仔细看了一下<手把手教你学DSP:基于TMS28335>这本书讲解中断的章节,感觉 ...

  9. C28x 中断上下文的保存和恢复

    C28x 上下文保存和恢复 介绍 本文介绍了 C28x CPU 的自动上下文保存/恢复.这也适用于带有 FPU 和 VCU 扩展的设备. 其他资源 上下文保存和恢复的详细内容在 <C28x TM ...

  10. Oracle存储过程中使用游标来批量解析CLOB字段里面的xml字符串:

    摘要:之前在项目中使用到了Oracle数据库中通过触发器去调用存储过程执行数据解析并Update到对应的数据表中,但是,经过一段时间的测试使用发现,如果job那天停掉了,然后你再重新新建job的话,这 ...

最新文章

  1. finite state machine drawer online
  2. 如何在Microsoft Word中插入签名
  3. 拆解镍氢电池充电器,简单的电路设计令人震惊!
  4. HackRF 无线门铃信号录制与重放
  5. 互联网 | 逻辑上的黑话才是真正的花里胡哨
  6. JBDC操作事务源码解析
  7. 分布式数据库架构及企业实践--基于Mycat中间件pdf
  8. 记录用友ERP二次开发全过程(转载)
  9. 《代码的未来》读书笔记:内存管理与GC那点事儿
  10. python数据分析有哪些模型-python数据挖掘的基本流程有哪些?
  11. 域名和IP地址的区别
  12. MPU6050-扫盲
  13. wpa_supplicant-2.6 君正平台(Zeratul )编译 支持WPS功能
  14. 华三光纤交换机默认密码和重置方法
  15. 抬杠计算机,全 自 动 抬 杠 机
  16. python urllib库获取淘宝主图
  17. 广州航海学院转计算机,这4所高校从学院变更为大学,校名瞬间变得高大上,在校生赚了...
  18. 【50页/附下载】5G最新进展深度解析—技术应用篇
  19. 用java把通达信导出的交易记录文件高速批量导入mysql数据库
  20. Thinkphp5开发个人博客网站源码+技术交流分享

热门文章

  1. 实践练习二(必选):手动部署 OceanBase 三副本集群(在同一个节点)
  2. 人力资源专员岗位职责和要求
  3. python 线性插值处理_详解Python实现线性插值法
  4. 破解“致得E6协同文档管理系统” 3.2.847版
  5. softice调试驱动程序
  6. 创建 SSH key
  7. javax.validation校验整理
  8. js根据出生日期计算年龄及根据年龄计算出生日期
  9. 如何用C#做一个投票小demo
  10. 回归分析中的多重共线性问题