- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6:基于CCS的软件开发与调试 实时调试的挑战 DSP程序常见的错误程序跑飞,死机?程序跳转不正确数据被修改?指针问题、堆栈溢出 DSP实时程序的特点:与通用OS的应用程序比较(1)至少存在一个中断,即有时限(2)DSP系统是嵌入式系统,用户管理memory map。(3)数据IO程序+数据处理程序:并行 可能的硬件平台的问题给软件带来的麻烦 什么是“调试” 调试:debug调试就是通过理解系统行为(运行),让系统实现其正确的功能的过程。 在调试时,要根除导致系统出现未预期行为的根本原因。就需要理解系统的运行情况。 我们需要理解系统在做什么? 不是我们、你们、他们认为系统应该做什么, 而是系统实际上在做什么。 如果不理解系统,就不能指望改动系统让它完成我们想做的事情。而且,我们所做的任何改变系统行为的事情,都有破坏另外一些事情的危险;也可能因为改动而带来了更多的bug。 调试的过程 调试的一般过程(1)识别问题;(2)收集信息logging;(收集什么信息?造成输出错误的直接输入信息,逐级tracing)(3)分析收集的数据,定位bug;(4)修改bug。 可控性 可观测性 :来自软件工程的概念,其中可观测性是软件、硬件调试的基石。 调试的手段 静态调试:单步执行;设置断点;观察变量;观察寄存器和存储器值;修改变量、寄存器和存储器的值;运行一段程序;“必须掌握的基本技能” 动态调试:实时记录、观察数据;RTDX条件断点; 论述“调试”的书籍 The Science of Debugging, Matt Telles.程序调试思想与实践,中国水力水电出版社---bug 是系统逻辑的奴隶 Debugging Application , John Robbins ,Microsoft Press ,2000 主要针对windows程序调试中文名: 应用程序调试技术 软件调试思想 : Robert Charles Metzger 嵌入式实时系统程序的分类 简单地,可以分为(1)数据处理的程序: 各种算法的实现;与硬件相对无关(2)数据传输的程序: 与硬件紧密相关; 中断、DMA: 提高数据传输效率的 两种“古老”而有效的手段 两种程序的开发时间: 成熟的算法+熟悉的硬件 数据链路层次(1)CPU核 DSP的寄存器和运算单元之间的数据链路多 数据链路层次(2)DSP 片内存储器 片外存储器接口:EMIF, HPI/XBUS DMA 中断 其它外设:时钟,串口 C6x 片内总线 数据链路层次(3)板级 数据链路层次(4)板间 数据链路层次(5)系统间 C6000的中断(1) 三个概念: (1)中断源(Interrupt source):即中断事件,32个(2)中断选择号(Interrupt Selection Number):5bit(3)中断(Interrupt):12个可屏蔽+NMI(No.1) +RESET(No.0)+ RTDX(No.3) 中断寄存器的设置:中断源通过中断选择子(Interrupt Selector) “映射”到CPU的中断上,并可通过外中断极性设置寄存器设置EXT_INT4?EXT_INT7的中断极性(即中断地触发时刻) C6000的中断(2) 中断服务程序:map1:IDRAM 0x000~0x200 0x200 = 16 * 32 ; 16个中断,每个中断的8条指令; 二次跳转: 中断服务程序的任务实现超过8条指令时,跳转到真正处理中断的子程序 自定义中断服务表:头文件中 写 .vec段 使用dev64x.lib的中断服务表 #include intr.h Interrupt void func_int4(); Void main(void) { intr_rest();使能devlib中的vec段 int_hook(func_int4, CPU_INT4);中断挂载 INTR_ENABLE(CPU_INT_NMI); INTR_GLOBAL _ENABLE(); … } 中断嵌套 -进入中断后,GIE=0(自动) 保护现场, 使能中断GIE=1 允许中断嵌套的设置恢复现场退出中断 C6000中断程序 一般来讲,嵌入式系统是中断驱动的系统,另外还有数据流驱动的嵌入式系统(Windows:事件驱动)典型的结构:main函数中初始化?While循环等待中断到来,在中断处理程序中进行真正的数据处理 中断之间的关系:-同步关系:中断的触发次数成比例-异步关系:。。。-因果关系:一个中断触发其他中断
您可能关注的文档
- 6.3高斯定理试卷.ppt
- 6.3公开课(罗马人的法律)试卷.ppt
- 6.3基因工程与转基因生物20160314试卷.ppt
- 6.3密度试卷.ppt
- 6.3中国共产党领导的多党合作和政治协商制度164安徽寿县安丰高中李劲松王大康张中德试卷.ppt
- 6.4滑动摩擦力试卷.ppt
- 6.4密度的计算试卷.ppt
- 6.4密度与社会生活试卷.ppt
- 6.4认识学校计算机网络结构试卷.ppt
- 6.5《杠杆的平衡条件》试卷.ppt
- 白天晚上教学课件.ppt
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题带答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解一套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及完整答案详解1套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解1套.docx
- 2025年山东菏泽市事业单位招聘急需紧缺岗位目录(第一批)笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及答案详解1套.docx
- 画西瓜教学课件.ppt
最近下载
- (高清版)W-S-T 442-2024 临床实验室生物安全指南.docx VIP
- 不同公司橡胶助剂名称对照表橡Chemical Cross Reference.pdf VIP
- 世界陆地地形和海底地形.ppt VIP
- 连云港社区工作者考试真题库(2024版).docx VIP
- 2011全国电子设计大赛报告终极版(智能小车).doc VIP
- 神源(SYRUNS)SY5000P变频器使用说明书用户手册.pdf VIP
- Q/GDW_12218-2022_低压交流配网不停电作业技术导则_.pdf VIP
- 欧瑞(惠丰HFinverter)F1500-G变频器说明书.pdf
- 石油化工建设工程施工安全技术标准.docx VIP
- 计算机程序设计员考试题一.pdf VIP
文档评论(0)