文章摘要:嵌入式软件如何调试程序
调试是每个开发人员都想避免的一项任务,在开发嵌入式软件时,该怎么调试呢?下面小编给大家介绍嵌入式软件如何调试, […]
调试是每个开发人员都想避免的一项任务,在开发嵌入式软件时,该怎么调试呢?下面小编给大家介绍嵌入式软件如何调试,一起来看看吧。
嵌入式软件调试的方法
1、利用打印函数,打印到固定的内存地址中,可将函数加在数据输入,处理,输出的过程中。
2、计时函数,或者计时钟节拍tick的函数,计算函数模块的运行时间,如解码,frame、rate等。
3、DDK抓取打印。
4、IAR中查看变量的值,或者地址内的值。
5、定义计数数组,数据可累加观看是否丢失。
嵌入式调试的思路
1. ARM开发环境有Keil、IAR、ADS等等,我们发现这几个平台都能用同一个调试器去调试ARM。
2.一个调试器可以调试多种不同型号的CPU,包括STM32控制器和高端的处理器。
3.一个调试器有时接20个pin的JTAG接口,有时接4个pin的SWD接口。
4.开发环境KEIL不仅支持ARM调试,还支持51单片机调试。
5.如果自己研发了一颗SOC芯片,并在JTAG的基础上增加一些定制的功能,又该如何实现?
嵌入式调试技巧
1、采取可控制的步骤。解决甚至最简单的错误应该包括检查可用数据,评估它,假设最可能的原因,更新代码,然后测试更新。如果变更没有解决问题,新数据至少应该被曝光,这有助于重复该过程。
2、增加断言密度。ASSERT 宏是一个很棒的工具,可以在运行时返回错误消息断言的条件是错误的。开发人员可以使用此宏来验证其代码中的假设是否成立。
3、使用数据记录器。拥有诸如任务开始和完成时的性能信息,是否被抢占以及类似的细节都是至关重要的。记录所采取的操作是开发人员深入了解软件行为的好方法。
4、使用高级断点。开发人员熟悉使用IDE中可以打开的标准断点,需要双击一个断点即可代码的左边距。但是,许多IDE还具有更高级的断点功能,这是开发人员很少使用的功能。
5、再次查看数据表。信息的形式是“面包屑”,散布在家庭和外围数据表中,有时甚至在应用笔记中。仅仅查看一个文档是不够的。当硬件行为不端时,您需要反复查看数据表。