- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
cpu异常处理机制,java异常处理机制,异常处理机制,c异常处理机制,java的异常处理机制,spring异常处理机制,java中异常处理机制,java关于异常处理机制,android异常处理机制,struts2异常处理机制
Application Report
ZHCA072– November 2009
TI C64x+ DSP 内核异常处理机制的应用
崔晶 TI 通用数字信号处理系统技术支持
摘要
很多 DSP 工程师都会遇到程序跑飞,系统死机等一系列复杂棘手的问题。特别是一些软件问
题很难复现,毫无规律,甚至需要系统运行几天或者在特定的场景下才会出现。而问题出来后要
么连不上仿真器,要么连上仿真器后PC 指针早已跑飞,很难找到线索解决问题。德州仪器(TI )
的 C64x+ DSP 内核是 C64x DSP 内核的扩展升级版,其中显著的两个特点是增加了异常
(Exception )和内存保护(Memory Protection )机制。这个两个机制可以配合使用,用来检
测、报告和处理一些错误。比如在运行过程中如果 CPU 读写了片内的程序段或者 ROM 空间就可
以产生一个异常中断,这个时候就可以查看系统的调用堆栈,分析错误原因。本文将介绍异常处
理和内存保护机制的原理和典型应用,旨在对C64x+ DSP 工程师有所帮助,在实际工作中借助异
常处理和内存保护机制定位调试并最终解决问题。
内容
1 异常(Exception)处理机制2
2 C64x+ DSP 异常中断的四种类型3
2.1 外部不可屏蔽异常中断和外部可屏蔽异常中断3
2.2 内部不可屏蔽异常中断3
2.3 软件异常中断3
3 异常处理机制是如何工作的3
3.1 使能异常中断4
3.2 异常中断产生和标志位置位4
3.3 响应异常中断4
3.4 异常中断服务程序4
4 异常处理机制的典型应用5
4.1 C64x+的内存保护5
4.2 内存保护触发异常中断的具体实现6
5 总结10
参考文档10
图
图 1. C64x+ DSP 中断控制器示意图2
图 2. 异常中断使能示意图4
图 3. 内存保护页属性寄存器MPPA 5
1
ZHCA072
1 异常(Exception)处理机制
在DSP 算法比较复杂的系统,比如包括多路音视频编解码、网络以及和主机通过PCI 通信的DSP 系统中,我
们常常会遇到系统稳定性的问题。例如系统运行一段时间以后发生死机问题,主机无法通过PCI 和DSP 通信,也
不知道具体是哪个线程出问题?而且问题很难复现,不是每次必现,甚至要跑一周才会出问题。或者说对特殊的码
流进行编码时系统会死机,但又不知道问题具体出在编码算法的什么地方?这个时候工程师最希望的是能捕捉到出
错时的状态,最好能有地方记录错误原因和检查出错前的函数调用堆栈。在发生死机之后,我们往往连不上仿真器
不能通过JTAG 查看DSP 的相关寄存器来分析出错的原因。如果连上了仿真器,又发现DSP 常常停在ROM 或一些
无效的地址空间,很难找到线索来判断到底是在哪个函数或环节出了问题。而有了异常处理机制,我们就可以在程
序中注册一个异常中断服务程序,当DSP 运行出错或内存保护机制检测到错误时会跳
文档评论(0)