Arduino - Debugging on the Arduino IDE 2.0

news2025/3/1 6:23:52

文章目录

    • 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", 只要下好断点, 就可以开心调试了.
当然, 如果接的板子不是选的板子(冒充是), 或者就没接实际的板子, 单步调试时, 会报错的.

单步调试前下断点

在想要下断点的行前面, 用鼠标左击一下, 看到红句号, 就下好断点了.
在这里插入图片描述

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/117914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浏览器http缓存机制

1、前言 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置;而浏览器缓存则主要由前端开发在前端js上进行设置。 http缓存是web缓存的核心,是最难懂的那一部分,也是最重要的那一部分。 2、H…

【大数据clickhouse】clickhouse 数据备份与恢复

一、前言 与其他的数据存储引擎类似,clickhouse承载着大数据量级的数据存储,对于数据的备份与恢复也是必须考虑的,本文将通过操作演示下如何对clickhouse数据进行备份与恢复。 官网说明:官网备份操作说明clickhouse可以通过手动进…

NEMU(RISC-V64)基础知识(一)

目录 1、术语和定义 2、CISC和RISC的区别 3、vimtutor指令查看常见VIM使用命令 4、GDB调试 5、x86中寄存器 6、x86中指令的具体行为 7、中断和异常 8、RISC-V的中断 9、一条指令在NEMU中的执行过程 10、NEMU中的输入输出 11、在NEMU的运行时环境中执行程序步骤 12、…

HarmonyOS使用ArkUI绘制圣诞树

一、前言 起因我参加了 “挑战代码画颗圣诞树” 活动,又因为本次推出一个“圣诞定制勋章”活动,一个是传资源,一个是写文章,为了更好的把知识传递给大家,所以我又出了这篇文章,大家进来一起学习一下吧。 二…

Linux- 系统随你玩之--操作文件和目录

文章目录1、前言2、文件、目录相关的指令2.1、当前所在目录2.2、当前目录所有的文件和目录2.3、切换当前工作目录2.4、 创建目录与文件2.6 、拷贝文件3 、文本查看3.1、cat 查看文件内容3.2、head 查看前n行内容3.3、tail 查询后n行内容4、文本编辑4.1、vi 指令4.2、more 指令4…

华为三层交换机做中继,WinServer2012当DHCP服务器

ENSP桥接一台 Windows Server&#xff0c;当DHCP服务器 1、拓扑图 2、汇聚交换机设置 <Huawei>sys# 关闭消息提示 [Huawei]undo in en[Huawei]sys SW1# 批量创建 VLAN [SW1]vlan batch 10 20 30 100# 设置 VLAN 为 Trunk [SW1]int g0/0/1 [SW1-GigabitEthernet0/0/1]p…

【电商】电商后台---FMS财务管理系统

文章对电商财务系统进行了系统的介绍&#xff0c;希望通过此文能够加深你对电商系统的认识。 目前互联网电商公司的系统非常多、系统间的关系也非常复杂&#xff0c;最近各公司都热衷于中台&#xff0c;应用的技术也相当之多&#xff0c;技术实力弱点的公司只能借助于各平台加快…

uAvionix获得FAA合同,部署和演示多个无人机同时飞行的C波段频率分配管理(FAM)

uAvionix宣布&#xff0c;它已赢得美国联邦航空管理局(FAA)的合同&#xff0c;作为uAvionix SkyLine™指挥和控制通信服务提供商(C2CSP)管理平台的组件&#xff0c;对频率分配管理器(FAM)进行多次端到端演示。 这次大规模演示将使运营SkyLine平台的频率管理组织(FMO)能够将国际…

基于STM32与TB6600的机械臂项目(代码开源)

前言&#xff1a;本文为手把手教学STM32的机械臂项目——Robot Arm&#xff0c;本次项目采用的是STM32作为MCU。该机械臂的基础模型为国外开源项目&#xff0c;诸多前辈经过长时间的验证与改进&#xff0c;其机械臂精度可以满足日常需求。本项目机械臂为三自由度机械臂&#xf…

mongodb-9.数据库连接,集合创建

文章目录数据库连接集合创建查询删除查询显示指定字段限制查询条数 limit &#xff0c;skip排序索引创建聚合查询数据库连接 mongodb URL mongodb://[username:password]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]语法说明如下&#xff1a;…

JSP ssh网络点餐系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh网络点餐系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式 开发。开发环境为TOMCAT7.0,Mye…

vue3 antd项目实战——input输入框限制输入内容和长度,Form表单动态校验规则

input输入框设置只能输入中文&#xff0c;输入长度为20&#xff0c;输入不能为空知识调用场景复现解决方案1.下方有提示文字2.限制输入内容只能是中文3.限制输入长度为204.动态校验规则&#xff08;必填项&#xff09;input源代码&#xff08;按需调整即可&#xff09;知识调用…

【区块链 | EVM】深入理解学习EVM - 深入理解EVM操作码,让你写出更好的智能合约

那些非典型的开销导致经典的软件设计模式在合约编程语言中看起来既低效又奇怪。如果想要识别这些模式并理解他们导致效率变高/低的原因&#xff0c;你必须首先对以太坊虚拟机&#xff08;即 EVM&#xff09;有一个基本的了解。 你的一些编程“好习惯”反而会让你写出低效的智能…

Linux当中的Sersync实时同步服务及其实战举例

目录 一、实时同步 1.定义 2.原理 3.实时同步场景 4.实时同步工具 &#xff08;1&#xff09;sersync &#xff08;2&#xff09;Lysncd 二、实时同步实例 1.环境规划 2.配置思路 NFS存储服务如下&#xff1a; &#xff08;1&#xff09;安装NFS &#xff08;2&am…

40. 使用块的网络(VGG)

虽然AlexNet证明深层神经网络卓有成效&#xff0c;但它没有提供一个通用的模板来指导后续的研究人员设计新的网络。 在下面的几个章节中&#xff0c;我们将介绍一些常用于设计深层神经网络的启发式概念。 与芯片设计中工程师从放置晶体管到逻辑元件再到逻辑块的过程类似&#x…

Node.js--》三大常见模块的使用讲解

目录 fs文件系统模块 fs.readFile()方法 fs.writeFile()方法 readFile与writeFile的使用 fs模块路径动态拼接问题 path路径模块 path.join()方法 path.basename() path.extname() path.parse() http模块 req请求对象 res响应对象 解决中文乱码问题 响应不同内容…

Python实现猎人猎物优化算法(HPO)优化支持向量机回归模型(SVR算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei& Keynia于2022年提出的一种最新的优…

计算机系统基础实验 - 同符号浮点数加法运算/无符号定点数乘法运算的机器级表示

实验3 同符号浮点数加法运算/无符号定点数乘法运算的机器级表示 实验序号&#xff1a;3 实验名称&#xff1a;同符号浮点数加法运算/无符号定点数乘法运算的机器级表示 适用专业&#xff1a;软件工程 学 时 数&#xff1a;2学时 一、实验目的 1.掌握定点数乘法溢出的判定方法…

Kafka触发Rebalance的场景分析

文章目录前言触发Rebalance的原因1. 消费者成员发生变化2. 分区数发生变化3. 订阅Topic发生变化Rebalance全流程介绍场景一&#xff1a;新成员入组场景二&#xff1a;成员主动离组场景三&#xff1a;成员崩溃离组场景四&#xff1a;组成员提交位移前言 所谓Rebalance就是让Con…

Python小工具-复制嵌套目录下的多个word文档到指定目录

文章目录Python小工具-复制嵌套目录下的多个word文档到指定目录需求原始数据工具实现思路代码实现1-6 配置项目7 定义file_type_to_reduce_dir函数完成文件复制或移动8 定义list_dir_by_level函数完成遍历调用函数并执行待改进地方完整代码自我反省Python小工具-复制嵌套目录下…