# Source level debugger for Arduino
Created by Jan Dolinay, June 2015<br/>
Works for Arduino Uno, Nano, Pro Mini (ATmega328), Arduino Mega, as well as
for AtMega1284(P).
### ARDUINO LIBRARY NOTE
To use this debugger as Arduino library, go to the arduino/library sub-folder. The avr-debugger is the Arduino library which you can copy to your Arduino libraries folders to use it. For more information please read the readme.txt file in arduino/library/avr-debugger.
## Introduction
This is debugger for Arduino based on GNU Debugger (GDB). The debugger is implemented using GDB stub mechanism. This means a piece of code (stub) is added to your Arduino program. This code then communicates with the GDB debugger. No external programmer or modification of the Arduino board is required. Eclipse can be used as a graphical frontend for debugging. For more information and tutorial please see the manual in /doc directory.
## Revision History
**March 2022**
+ Added support for other UART than the default UART0 for Arduino Mega. (see AVR8_UART_NUMBER in avr8-stub.h).
Now it is possible to use any one of the available UARTs to communicate with GDB and the UART0 can be used by Arduino Serial.
**April 2021**
(thanks to Bernhard Nebel, https://github.com/felias-fogg/avr_debug)
+ Added code to use TIMER0 as an alternative to using the watchdog
timer (AVR8\_USE\_TIMER0\_INSTEAD\_OF\_WDT = 1).
+ Added a new possibility for generating a software interrupt, which does not use any external pin (AVR8\_SWINT\_SOURCE = -1).
+ Shortened the runtime of the debugging ISR from 40 microseconds to
to less than 4 microseconds.
+ Fixed a bug that sometimes caused to show the wrong value of a local
variable.
+ Fixed a bug that sometimes led to ignoring a breakpoint.
+ Added a message that tells the user when s/he set too many
breakpoints.
+ The stub handles now resets caused by the debugger correctly in that it
removes all breakpoints from flash memory before issuing the reset.
**April 2021**
(thanks to Bernhard Nebel, https://github.com/felias-fogg/avr_debug)
+ Added code for ATMega1284(P).
**March 2021**
+ Fixed debug_message function; it hung the debugged program, now it prints properly even when debugged program is running.
+ Doc updated with info about using millis and micros Arduino functions while debugging
+ Doc updated about using the debugger in PlatformIO.
**July 2020**
+ Added support for writing breakpoints to flash memory using do_spm function exported by Optiboot bootloader. Now it is possible to use flash breakpoints also with Arduino Mega.
**May 2020**
+ Added support for PlatformIO based on contribution from msquirogac (https://github.com/msquirogac/avr-debugger-bootloader)
This includes instructions in the doc to use the debugger in PlatformIO IDE (VSCode) and changes in the bootloader subfolder
to support building the bootloader with PlatformIO.
**July 2019**
+ Created Arduino hardware configuration to make it possible to burn the bootloader from Arduino IDE.
**June 2019**
+ Created Arduino library to make it easier to use this debugger.
**July 2018**
+ Fixed bug in bootloader - it really works now with avrdude.
+ Fixed bug in stub which prevented GDB from stopping running program in some cases.
**January 2018**
+ Code tested and updated to work with current toolchain and eclipse.
+ Documentation updated.
**June 2017**
+ Added support for writing breakpoints to flash memory including special bootloader.
+ Added support for loading the program via debugger - without AVRDude.
**January 2017**
+ Added support for Arduino Mega board with ATmega1280 and ATmega2560 MCUs.
+ Example programs reorganized and renamed. The name now contains Arduino variant so that example projects for different variants can be imported into single eclipse workspace.
+ Fixed bug for ATmega328 (Uno) - the debugger now works for programs larger than 16 kB.
+ Documentation updated to describe also direct serial communication with the debugger (without the TCP-to-COM proxy) which seems to work on Windows 10 and with some boards also on Windows 7.
**June 2015**
+ First release
## Contents of this package:
Tool | Description
--- | ---
avr8-stub | source code of the debug driver (gdb stub for ATmega328 used in Arduino Uno)
arduino | arduino library and some other code.
doc | documentation with tutorials.
examples | example projects which can be imported into your eclipse workspace. See documentation for instructions on use.
hub4com-2.1.0.0-386 | hub2com tcp-serial proxy from http://sourceforge.net/p/com0com/news/2012/06/hub4com-v2100-released
start_proxy.bat | convenience script to start the com2tcp proxy.
## Notes
You can also start the tcp-serial proxy directly from command line:
```
com2tcp.bat --baud 115200 \\.\COM1 11000
```
(The example command assumes Arduino on port COM1; GDB connecting to localhost at port 11000).
## License
This is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
没有合适的资源?快使用搜索试试~ 我知道了~
Arduino 的源级调试器 - Arduino Uno 中使用 的 Atmega328微控制器的 GDB 存根_C语言_代码_
共191个文件
png:61个
txt:19个
launch:17个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 93 浏览量
2022-07-07
18:02:39
上传
评论
收藏 7.1MB ZIP 举报
温馨提示
Arduino 的源代码级调试器 由 Jan Dolinay 创建,2015 年 6 月 适用于 Arduino Uno、Nano、Pro Mini (ATmega328)、Arduino Mega 以及 AtMega1284(P)。 ARDUINO 图书馆笔记 要将此调试器用作 Arduino 库,请转到 arduino/library 子文件夹。avr-debugger 是 Arduino 库,您可以将其复制到 Arduino 库文件夹中以使用它。 介绍 这是基于 GNU Debugger (GDB) 的 Arduino 调试器。调试器是使用 GDB 存根机制实现的。这意味着将一段代码(存根)添加到您的 Arduino 程序中。然后此代码与 GDB 调试器通信。无需外部编程器或修改 Arduino 板。Eclipse 可以用作调试的图形前端。有关更多信息和教程,请参阅 /doc 目录中的手册。 更多详情、使用方法,请下载后阅读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
Arduino 的源级调试器 - Arduino Uno 中使用 的 Atmega328微控制器的 GDB 存根_C语言_代码_ (191个子文件)
multiplexer.bat 9KB
com2tcp-rfc2217.bat 7KB
com2tcp.bat 5KB
debug_tcp.bat 134B
debug_tcp2.bat 92B
debug_com.bat 92B
debug_tcp1.bat 92B
debug_com.bat 89B
debug_com.bat 86B
start_proxy.bat 65B
start_proxy.bat 57B
start_proxy_nano.bat 56B
platform.local.txt.baud_57600 476B
avr8-stub.c 102KB
avr8-stub.c 102KB
optiboot.c 24KB
WInterrupts.c 10KB
stub.c 10KB
WInterrupts.c 9KB
bootapi.c 5KB
main.c 5KB
app_api.c 4KB
app_api.c 4KB
main.c 2KB
c_mega.c 1KB
main.c 815B
core 0B
blink.cpp 658B
blink.cpp 591B
.cproject 16KB
.cproject 15KB
.cproject 11KB
.cproject 11KB
.cproject 11KB
.cproject 9KB
.cproject 8KB
avr_debug.doc 2.45MB
hub4com.exe 400KB
.gitignore 128B
.gitignore 21B
.gitignore 8B
.gitignore 8B
.gitignore 8B
.gitignore 8B
.gitignore 8B
.gitignore 8B
fillmem.h 109KB
boot.h 33KB
avr8-stub.h 13KB
avr8-stub.h 13KB
app_api.h 3KB
app_api.h 3KB
pin_defs.h 2KB
bootapi.h 2KB
stk500.h 2KB
avr_debugger.h 735B
avr_debugger.h 735B
optiboot.hex 4KB
atmega328_debug_optiboot.hex 4KB
optiboot.hex 4KB
optiboot_atmega1284p.hex 2KB
optiboot_atmega2560.hex 2KB
platformio.ini 1KB
app.ino 1KB
launch.json 1KB
launch.json 1KB
library.json 833B
boot_api_app Debug TCP.launch 4KB
boot_api_app Debug_no_load.launch 4KB
boot_api_app Debug.launch 4KB
blink_uno Debug COM.launch 4KB
blink_uno Debug Load.launch 4KB
blink_nano TCP.launch 4KB
blink_nano COM14.launch 4KB
blink_uno TCP.launch 4KB
blink_mega TCP.launch 4KB
blink_mega Debug COM5.launch 4KB
c_uno Debug COM.launch 4KB
c Debug COM.launch 4KB
c Debug COM mega2560.launch 4KB
c_mega Debug COM5.launch 4KB
c Debug Linux Mega2560.launch 4KB
c Debug Linux UNO.launch 4KB
c Debug Linux.launch 4KB
makefile 2KB
makefile 2KB
readme.md 5KB
avr_debug.pdf 2.86MB
debug_write_cnt.png 106KB
debug_config_load.png 81KB
vscode_blink.png 79KB
vscode_start2.png 77KB
platformio_libinstall.png 65KB
gdb_hwdebug_install.png 65KB
avr_plugin_paths_mingw.png 62KB
preferences_paths.png 59KB
vscode_libs.png 57KB
platformio_debug2.png 57KB
vscode_start.png 48KB
avr_paths.png 48KB
共 191 条
- 1
- 2
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9156
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 3122080306 邹子轩 实验报告二.docx
- 基于STM32 NUCLEO板设计彩色LED照明灯(纯cubeMX开发)(大赛作品,文档完整,可直接运行)
- 发那科工业机器人保养大全
- Sphere.h
- REMD固有时间尺度分解信号分量可视化(Matlab完整源码和数据)
- 嵌入式系统双单片机STC89C52+STC15W104多功能学习板电路图可扩展 适用于单片机初学者和教学
- 基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)大赛作品
- XILINXFPGA源码基于Spartan3火龙刀系列FPGA开发板VGA测试例程
- Java聊天室的设计与实现【尚学堂·百战程序员】
- python中matplotlib教程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功