- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.6.3可屏蔽中断 中断请求送达CPU 设置相应的IFR标志 否 IER中断使能? 是 否 INTM=0? 是 跳转到中断服务程序(ISR)执行,跳转时: 1 清除相应的IFR标志 2 执行自动现场保护 3 全局禁止可屏蔽中断(INTM=1) 4 禁止调试事件(DGBM=1) 5 禁止访问非CPU仿真寄存器(EALLOW=0) 执行中断服务程序 程序继续执行 图3-21 可屏蔽中断的标准处理流程 83 84 3.6.4不可屏蔽中断 当CPU接收到一个不可屏蔽中断的请求时,CPU立即无条件响应,并很快跳 转到相应的中断服务子程序。C55x的不可屏蔽中断有: ?硬件中断RESET。如果RESET引脚为低电平,则触发了一个DSP硬件复位和一 个中断。 ?硬件中断NMI。如果NMI引脚为低电平,则CPU必须执行相应的ISR。 ?软件中断。所有软件中断可用表3-27所示的指令初始化。 图3-23 不可屏蔽中断的标准处理流 中断请求送达CPU 跳转到中断服务程序(ISR)执行,跳转时: 1 执行自动现场保护 2 全局禁止可屏蔽中断(INTM=1) 3 禁止调试事件(DGBM=1) 4 禁止访问非CPU仿真寄存器(EALLOW=0) 执行中断服务程序 程序继续执行 注意:如果中断是由TRAP指令初始化的,则在跳转到 中断服务子程序的过程中,INTM位不受影响 85 3.6.5 硬件复位 硬件复位后,DSP处于一个已知状态,即所有当前指令 全部终止,指令流水清空,CPU寄存器复位。然后CPU执行 中断服务子程序,读复位中断向量时,CPU用32位复位向量 的第29、28位来确定堆栈配置模式。 86 3.6.6 软件复位 软件复位只影响IFR0、IFR1、ST0_55和ST2_55,不影响 其他寄存器。 87 思考与练习 1.C55x芯片由哪些基本部分组成? 2.C55x CPU包括哪些功能单元: 3.C55x的指令流水线有哪些操作阶段?每个阶段执行什么任务? 4.C55x的CPU包括哪几个累加器?哪几个状态寄存器? 5.C55x 的COU在读取程序代码和读/写数据时有什么不同? 6.C55x的堆栈有哪些种类?涉及到的寄存器有哪些? 7.C55x对中断是如何处理的? 88 术语 解释 缩语、术语 SDRAM RAM ROM DMA NMI 英文全称 SynchronousDRAM Random Access Memory Read-Only Memory Direct Memory Access non-maskable interrupt 89 52 3.3.8 状态寄存器ST0_55 4.测试/控制位(TC1、TC2) 测试/控制位用于保存一些特殊指令的测试结果,使用要点 如下: ① 所有能影响一个测试/控制位的指令,都可以选择影响 TC1或TC2。 ② TCx或关于TCx的布尔表达式,都可以在任何条件指令里 用作触发器。 ③ 可以通过下面指令对TCx置位和清零: BCLR TC1 ;TC1清零 BSET TC1 ;TC1置位 BCLR TC2 ;TC2清零 BSET TC2 ;TC2置位 53 3.3.9 状态寄存器ST1_55 4~0 ASM R/W-00000 8 BRAF R/W-0 CPL R/W-0 XF R/W-1 HM R/W-0 INTM R/W-1 M40 R/W-0 SATD R/W-0 SXMD R/W-1 15 14 13 12 11 10 9 ST1_55 7 C16 R/W-0 6 FRCT R/W-0 5 C54CM R/W-1 BIT R/W 可进行读写访问 —X X是DSP复位后的值,如果X是pin,X是pin上复位后的电平 向状态寄存器保护地址的写操作无效,在读操作时这个位总是0 图3-12 ST1_55构成 54 3.3.9 状态寄存器ST1_55 1.ASM位域 ?C54M=0,C55x忽略ASM,C55x移位指令在暂存寄存器 (T0~T3)里指定累加器的移位值,或者直接在指令里用常 数指定移位值。 ?C54M=1,C55x以兼容方式运行C54x代码,ASM用于给出 某些C54x移位指令的移位值,移位范围是-
文档评论(0)