本帖最后由 吹口琴的钢铁侠 于 2016-8-1 23:47 编辑
在软件开发中,我们会写完一些代码之后进行测试,有些是直接运行,运气好就能找出bug的所在之处,运气不好的时候加点printf之类的语句,捣腾捣腾可能也出来了;运气最差的时候,就需要用断点调试或者单步调试了,比如Visual Studio调试C++,GDB调试C语言;对于很多硬件(单片机)其实也是可以调试的,一般情况下我调试Arduino会使用串口来做到类似于C语言里面的printf的效果,不过有些单片机是可以直接板上单步调试的,比如有些STC的芯片。 那么Arduino M0 Pro也是可以单步调试的,这个和一般Arduino主板不同的原因当然是他的主控芯片和以往不同了,用的是AtmelSAMD21,配备了 Atmel 的嵌入式调试器 (EDBG),该调试器提供一个完整的调试接口,关于M0 Pro的初步介绍可以看这个帖子。
首先我们要用到的工具是Arduino IDE和Atmel Studio,对于后者,大家平时用到的比较少,不过他其实完全可以用来开发Arduino,而不使用Arduino IDE;这次呢,也主要使用来调试。
生成用于调试的文件 这里使用的是Arduino的IDE,因为M0是Arduino.org家的,所以还得用他家的IDE。 演示用一下最简单的Blink程序,IDE选择Arduino M0 Pro (Programming Port)。
把两行的延时函数给注释掉,
单击编译并烧写程序到Arduino M0 Pro上去,完成之后不要急着关掉这个窗口,看一下下面的黑框提示,确定中间产生的文件的路径。 这个时候板子应该是以极快的速度跳转LED的亮灭的。
使用Atmel Studio来单步调试 安装Atmel Studio的过程有点漫长= =,毕竟打开来发现就是和Visual Studio一个量级一个模子的...
选择打开文件并debug
上面一个文件框选择刚才看到的文件路径
注意第一个是missing的,选择这个需要调试的项目的ino文件路径
单击这个绿色箭头,出现下面的界面,照这么填。
然后和大多数IDE一样,在左边的灰色区域单击出现红色断点,然后再单击绿色箭头的时候,就会停在其中一个断点了,然后单击再跳转到下一个断点,也就是所谓的单步调试。
|