文章目录
- Arduino - Debugging on the Arduino IDE 2.0
- 概述
- 如果没有官方文档, 如何手工测试哪种开发板能在Arduino IDE 中单步调试?
- 可以调试的板子的调试按钮状态
- 单步调试前下断点
- END
Arduino - Debugging on the Arduino IDE 2.0
概述
弄了2块开发板(Mega2560(MCU is ATmega2560), Arduino Nano Every(MCU is ATMega4809)).
安装了最新版的Arduino IDE(2.0.3), 发现这2个板子均不支持单步调试. 只能将程序编译完, 上传到开发板盲跑, 最多打印一些串口调试语句供参考. 这不难为我啊.
手头正好有个固件, 现在硬件都没好呢, 不知道固件是否好使. 如果有问题, 那不好排错和学习啊.
去查资料, 先行的同学提到过, Arduino IDE只支持几种Arduino开发板的单步调试. 很想弄一块能单步调试的Arduino开发板用来辅助排错和学习.
今天在官方站点上找到这个文档了… https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-debugger
能调试的Arduino开发板的MCU都是ARM M0以上的.
再往下看, 可以知道只有Arduino Zero自带硬件调试器的, 不需要外接硬件调试器.
我就定了一块Arduino Zero, 好贵(398元), 这板子哪值这个钱啊, 无奈.
等我用Arduino Zero单步, 将固件工程逻辑理解了, 换个ARM MCU(GPIO, 串口2个)做个板子, 自己实现, 没多少钱啊.
如果手头基于ATmega2560的固件有问题, 可以用Arduino Zero来单步调试, 模拟一下通讯, 单步学习和修正一下. 如果有靠谱的修正, 可以上传到2560开发板上直接跑看看效果.
如果没有官方文档, 如何手工测试哪种开发板能在Arduino IDE 中单步调试?
如果从下拉框中选了一种开发板, 如果看到左边第3个按钮(debug)是灰的, 就是不支持调试.
不支持调试分2种情况:
*没安装开发板所需要的组件
*真的是开发板不支持单步调试.
将鼠标移动到变灰的调试按钮上, 看提示信息.
像"Debugging is not supported by xx"这种提示, 就是Arduino IDE真的不支持单步调试这种板子.
如果是刚装完的Arduino IDE, 新选了一种没选过的板子, 调试按钮也是灰的, 但是有不同的提示.
提示为 “Platform is not installed for xx”, 说明是板子的组件没安装引起的不能调试. 同时, IDE右小角有安装板子组件的提示.
安装完组件后, 如果提示还为 “Debugging is not supported by xx”, 就是Arduino IDE真的不支持单步调试这种板子
假设没有找到官方文档中关于哪种板子才支持单步调试的说明, 可以自己挨个来选板子, 看调试按钮的状态, 就知道板子是否支持单步调试.
不过一般人也不会这么无聊.
心急火燎的时候, 就更不会去自己实验.
而且就算是实验出来一个可用的开发板列表, 能不能买的到, 是不是很贵都未知.
可以调试的板子的调试按钮状态
因为咱已经从官方文档中知道"Arduino Zero开发板"是支持在Arduino IDE中单步调试的, 且不需要外接硬件调试器.
我们选"Arduino Zero"看看调试按钮的状态.
可以看到调试按钮的信息是"Start Debugging", 只要下好断点, 就可以开心调试了.
当然, 如果接的板子不是选的板子(冒充是), 或者就没接实际的板子, 单步调试时, 会报错的.
单步调试前下断点
在想要下断点的行前面, 用鼠标左击一下, 看到红句号, 就下好断点了.