基于嵌入式系统调试诊断方法

[11-20 15:53:01]   来源:http://www.88dzw.com  arm嵌入式   阅读:8921

文章摘要:1)加深理解法:加深理解包括加深对硬件和软件的理解,加深对硬件的理解主要是详细阅读相关的芯片数据手册,而加深对软件的理解是因为现在开发嵌入式系统并不是所有程序都需要自己编写,很多都是已经做好的,直接从网上获取或者采购获得,但这些软件不一定是完全针对我们自己的目标板的,所以在使用过程中经常会发现一些问题,特别是底层软件,而一旦出现问题,开发人员首先必须了解出现问题的代码。只有建立在对相关硬件和软件深入理解的基础上才可能做出更符合实际的判断,才可能更好地解决问题。2)比较法:比较的方法有很多,比如将同样的软件放在两个类似但不相同的硬件平台上运行比较现象;将两个不同版本的软件放在同一个硬件平台上运行

基于嵌入式系统调试诊断方法,标签:arm嵌入式系统,arm系统,http://www.88dzw.com

  1)加深理解法:加深理解包括加深对硬件和软件的理解,加深对硬件的理解主要是详细阅读相关的芯片数据手册,而加深对软件的理解是因为现在开发嵌入式系统并不是所有程序都需要自己编写,很多都是已经做好的,直接从网上获取或者采购获得,但这些软件不一定是完全针对我们自己的目标板的,所以在使用过程中经常会发现一些问题,特别是底层软件,而一旦出现问题,开发人员首先必须了解出现问题的代码。只有建立在对相关硬件和软件深入理解的基础上才可能做出更符合实际的判断,才可能更好地解决问题。

  2)比较法:比较的方法有很多,比如将同样的软件放在两个类似但不相同的硬件平台上运行比较现象;将两个不同版本的软件放在同一个硬件平台上运行比较现象;将相同的软件放到相同批次但不同的两个硬件平台上运行比较现象。对于一些不是很隐蔽的问题通过比较法通常能得到不错的效果。

  3)分解法:当碰到分析起来比较复杂、可能有很多因素的问题时,可以把问题分成解几个小问题来测试诊断,比如编写几个单独的小测试程序对各种可能因素进行排查测试,根据这些测试结果再进行科学判断。

  4)软硬件结合法:这种方法是需要一定灵感和悟性的。比如上面的例5,在测试过程中,可以在不破坏硬件的前提下临时改变一下硬件的状态(比如该例中将数据线和时钟线短路),看问题现象会不会有所变化,如果有,那么多做类似试验找出变化规律和关键因素,然后再进行分析解决。在底层软件开发中,对于时序要求严格的硬件模块的软件编程要特别注意,一旦程序的时序出了问题,而这部分软件已经与其他系统软件融合到一起,那么这种软件让别人去检查是很难查出问题的。

  5)诊断、排故要建立在大量实验的基础之上,要多动手,不能光知道臆想,不愿实际操作,还美其名曰“善于思考和分析”。嵌入式系统开发是一门实践性很强的科学,需要在实践中总结出事物客观规律,从而更好地认识和利用它们,让它们更好地按我们的意图工作。

  6)嵌入式系统开发调试要求开发人员有严谨细致的工作态度,决不放过调试过程中发现的任何一点蛛丝马迹,因为它很可能就是打开潘多拉宝盒的钥匙。

  7)要有实事求是的工作作风,要有敢于怀疑一切的精神和勇气,我们理当尊重权威和前人的科技成果,但当出现矛盾时我们更应该相信实验结果,这样科学才会进步。

  8)要勇于挑战自我,抛开习惯性思维和成见,拓宽思路,多角度分析问题。

  9)嵌入式系统开发特别是底层软件和操作系统内核开发因为需要同时跟软件和硬件打交道,所以是一件比较艰苦的工作,很有挑战性。即使我们各方面都做得非常好,考虑得非常细致周全,目标系统仍然可能跟我们开一些小小的玩笑,我们经常会碰到一个非常小的问题困扰我们几天甚至几周的时间,这期间我们可能茶饭不思、夜不能寐,因此嵌入式系统底层软件开发人员不但要有平和的心态,且具备一定的耐心和毅力,还要有勇于克服一切困难的勇气和信心!只要我们做得足够好,那么可能解决一个具体疑难的过程带有一定偶然性,但我们终将排除所有阻碍!

  所以说,嵌入式系统调试过程就是一个更加深入了解我们的目标系统以及系统中的每个单元模块特性的过程,就是一个锻炼我们的逻辑思维和分析推理能力的过程,就是一个开拓思路、向习惯思维和权威挑战的过程,就是一个培养严谨细致的工作态度和实事求是工作作风的过程,就是一个锻炼我们耐力和毅力的过程,最终是一个学习进步的过程!

  嵌入式系统调试诊断能力的提升是一个长期实践、积累、提高的过程!



  

上一页  [1] [2] 


Tag:arm嵌入式arm嵌入式系统,arm系统arm嵌入式
分类导航
最新更新
热门排行