- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
GreesHopper:格蕾丝.赫柏,美国海军少将,1934,或数学博士学位,1944年第一台计算机的第3位程序员。1947,MarkII的研制中,在继电器的簧片中找到一只飞蛾。1966年退休,半年后反聘,1985成为少将。1986正式退休。1991,美国“国家技术勋章”,唯一女性。新的理论加新的算法肯定花的时间很长;但我们一般用成熟的算法,所以实践中,花在数据传输程序上的调试时间很长;主要原因是(1)对硬件的不熟悉(2)自己开发的硬件也可能存在问题,而且这些问题是硬件工程师在调试硬件时所不易发现的,比如大量数据的传输的可靠性isr_jump_table容易被其他指针修改,注意在map文件中观察其位置由于DSP程序和硬件时序紧密相关:一次新增的调试代码不能过长:代码分为两部分(1)算法(2)数据传输,后者和中断、DMA联系需要实时调试2)防御式编程:如通信中的等待时间不能过长,加超时判断,3)对感兴趣的事件做记录:中断发生次数,等待超时计数4)CCS的运行中添加断点和运行前添加断点5)窗口刷新的影响:大量的数据更新会影响底层的时序6)随时关系程序运行时间,过长会影响时序,设置计算器.7)注意数组的越界和指针的使用:也是其它编程通常的错误,这个错误可能其它部分修改,尤其对硬件计数器的修改导致各种错误,调试方法:递进增加代码,看map文件,了解前后关系.8)多用服务中断程序,但中断服务程序不能带参数,只有通过全局变量传递值,所以全局变量常用.9)volatile关键字.背景中修改,不被优化掉.-o310)关于中断嵌套:长中断被频繁中断中断,允许嵌套是,关闭自身,即不允许重入.原因在于打乱时序关系.11)观察中断间的同步:通过设全局变量和记录数组观察嵌套中断发生时被嵌套中断程序的运行状态开办公司:市场需求评估,财务制度,管理制度,对人的认识:如何激励员工基于CCS的
嵌入式实时系统
软件开发与调试
田黎育01DSP程序常见的错误02程序跑飞,死机?程序跳转不正确03数据被修改?指针问题、堆栈溢出04DSP实时程序的特点:与通用OS的应用程序比较05至少存在一个中断,即有时限06DSP系统是嵌入式系统,用户管理memorymap。07数据IO程序+数据处理程序:并行08可能的硬件平台的问题给软件带来的麻烦实时调试的挑战什么是“调试”调试:debug
调试就是通过理解系统行为(运行),让系统实现其正确的功能的过程。在调试时,我们试图根除导致系统出现未预期行为的根本原因。为了理解其根本原因,我们需要理解系统的运行情况。我们需要理解系统在做什么----不是我们认为系统应该做什么,也不是另外什么人说系统在做什么----而是系统实际上在做什么。如果我们不理解系统,就不能指望改动系统让它完成我们想做的事情。而且,我们所做的任何改变系统行为的事情,都有破坏另外一些事情的危险;也可能因为改动而带来了更多的bug。输入?输出×调试的一般过程01识别问题(加断点对timer计数的影响)02收集信息logging:(收集什么信息?造成输出错误的直接输入信息,逐级tracing)03分析收集的数据,定位bug;04修改bug。05可控性可观测性:来自软件工程的概念,其中可观测性是软件、硬件调试的基石。06调试的过程静态调试:01单步执行;设置断点;02观察变量;观察寄存器和存储器值;03修改变量、寄存器和存储器的值;04运行一段程序;05“必须掌握的基本技能”06动态调试:07实时记录、观察数据;RTDX08条件断点;09调试的手段TheScienceofDebugging,MattTelles.1程序调试思想与实践,中国水力水电出版社2--bug是系统逻辑的奴隶3DebuggingApplication,JohnRobbins,4MicrosoftPress,20005主要针对windows程序调试6中文名:应用程序调试技术7软件调试思想:RobertCharlesMetzger8论述“调试”的书籍简单地,可以分为数据处理的程序:各种算法的实现;与硬件相对无关数据传输的程序:与硬件紧密相关;中断、DMA:提高数据传输效率的两种“古老”而有效的手段两种程序的开发时间:嵌入式实时系统程序的分类数据链路层次(1)CPU核DSP的寄存器和运算单元之间的数据链路多数据链路层次(2)DSP片内存储器片外存储器接口:
EMI
文档评论(0)