AVR开发 Arduino方法(附一) 工具链与调试技术

发布者:ShiningSmile最新更新时间:2019-12-05 来源: elecfans关键字:AVR开发  Arduino  工具链  调试技术 手机看文章 扫描二维码
随时随地手机看文章

前文中所有代码都可以使用Arduino IDE编译通过,电路图都是使用Fritzing绘制的。Arduino IDE和Fritzing都可以运行在多种操作系统上,可以通过以下方式获取它们:

1. Arduino IDE

在浏览器中访问https://www.arduino.cc/en/Main/Software:

找到“Download the Arduino IDE”,根据自己的操作系统下载相应版本的Arduino IDE即可。如果你使用的是Windows操作系统,建议选择“Windows Installer”版本,可以省去安装驱动程序的麻烦。


Arduino IDE安装完成后,还需要对它的配置文件进行一些修改,以便进行调试。打开Arduino IDE的配置文件(配置文件的路径可以通过“文件”菜单打开“首选项”对话框找到),在文件末尾添加:


1 build.path=yourpath


将yourpath替换成你希望Arduino IDE生成文件的位置,例如“/home/blu/文档/arduino”:

2. Fritzing

在浏览器中访问http://fritzing.org/download/:

根据自己的操作系统下载相应版本的Fritzing即可。

3.适用于Windows操作系统的调试工具

(1) 使用Proteus进行软件调试

打开Proteus软件,将ATMEGA328P放置到原理图区域中:

双击放置的ATMEGA328P,打开“编辑元件”对话框:

点击“Program File”文本框右侧的“打开”按钮,找到编译的.elf文件;将“CLKDIV(Divide clock by 8)”设置为“(1)Unprogrammed”;再将“CKSEL Fuses”设置为“(1111)Ext. Crystal 8.0MHz”;最后将“Advanced Properties”中的“Clock Frequency”设置为“16MHZ”;


点击“调试”菜单中的“开始/重新启动调试”,会打开“AVR Source Code”和“AVR Variables”对话框,从中可以查看程序源代码以及变量值的情况:

从“AVR Source Code”对话框中找到主函数,找到setup()函数和loop()函数的调用语句,双击打上断点,运行到断点处,就可以开始调试了:

(2) 使用Visual Studio进行硬件调试

安装带有C++组件2012或更新版本的Visual Studio后,在http://www.visualmicro.com/page/Arduino-Visual-Studio-Downloads.aspx中下载Visual Micro插件,双击安装;


插件安装完成后第一次打开Visual Studio,会弹出“Configure Ide Locations”对话框,在对话框中指定Arduino IDE的版本和安装路径,点击“OK”按钮;


在Visual Studio的“新建”菜单中新建一个“Arduino Project”,将Arduino连接到计算机上;然后在工具栏中选择正确的开发板型号和端口号,就可以像调试本地C++应用程序一样在Arduino上调试程序了。

4. 适用于Linux操作系统的调试工具

在Linux操作系统下调试Arduino程序需要以下软件包:simulavr,gdb-avr和ddd,其中ddd是可选的软件包,它提供调试器的前端界面。请使用包管理器安装它们和它们依赖的软件包。

安装完成后,在终端中执行命令:simulavr -L,这会打印simulavr支持的微控制器列表:

列表中没有ATMega328P,但Arduino IDE可以支持ATMega8。因此在终端中执行命令:simulavr -d atmega8 -g -p 4242。在4242端口启动一个ATMega8虚拟机:

在Arduino IDE的“工具”菜单下的“开发板”子菜单项中选择“Arduino NG or older”,在“处理器”子菜单项中选择“ATMega8”,重新编译项目。在生成目录下打开一个新的终端窗口,执行命令:ddd --debugger avr-gdb ./Blink.ino.elf,这会打开DDD窗口:

在init()函数上设置断点,并在底部命令窗口中依次执行命令:


1 target remote localhost:4242

2 load


将程序上传到ATMega8虚拟机中。点击“Cont”(Continue的缩写)按钮,程序会跳转到主函数的位置,就可以开始调试了:

关键字:AVR开发  Arduino  工具链  调试技术 引用地址:AVR开发 Arduino方法(附一) 工具链与调试技术

上一篇:AVR+FPGA实现六路闭环电流控制程序
下一篇:AVR开发 Arduino方法(一) 端口子系统

推荐阅读最新更新时间:2024-10-17 21:12

AVR开发 Arduino方法(附一) 工具调试技术
前文中所有代码都可以使用Arduino IDE编译通过,电路图都是使用Fritzing绘制的。Arduino IDE和Fritzing都可以运行在多种操作系统上,可以通过以下方式获取它们: 1. Arduino IDE 在浏览器中访问https://www.arduino.cc/en/Main/Software: 找到“Download the Arduino IDE”,根据自己的操作系统下载相应版本的Arduino IDE即可。如果你使用的是Windows操作系统,建议选择“Windows Installer”版本,可以省去安装驱动程序的麻烦。 Arduino IDE安装完成后,还需要对它的配置文件进行一些修改,以便进行
[单片机]
<font color='red'>AVR</font><font color='red'>开发</font> <font color='red'>Arduino</font>方法(附一) <font color='red'>工具</font><font color='red'>链</font>与<font color='red'>调试</font><font color='red'>技术</font>
在 vscode 上使用 IAR_STM8 工具开发 编译 调试 STM8 项目
本文介绍如何在 EIDE 上使用 IAR_STM8 工具链完成项目 创建,编译,并使用 STM8-Debug 完成调试 本文以 STM8S105K4T6 为例 1. 使用 EIDE 创建一个 8/16 Bit MCU 项目 注意: STM8 项目路径中 不要含有任何中文字符 和 空格,否则调试功能将无法使用 2. 项目目录下创建一个文件夹,将 STM8S 标准外设库复制到该目录下 3. 添加宏,本例是:STM8S105 4. 将 STM8S_StdPeriph_Driver 目录添加到项目,并排除 无用和不支持 的外设 排除该 芯片 不支持的外设,和不需要使用的外设 5. 切换到 IAR_STM8 工具链
[单片机]
在 vscode 上使用 IAR_STM8 <font color='red'>工具</font><font color='red'>链</font><font color='red'>开发</font> 编译 <font color='red'>调试</font> STM8 项目
AVR的编程语言Arduino可用Proteus仿真调试
把一个电位器连在 Arduino  168 Duemilanove 2009ATMEGA168P控制器的模拟接口0,再把一个LED连在控制器的数字接口13,当电位器滑动,电压超过2.5V,则LED亮,否则熄灭。ATMEGA168P控制器的AD转换是10位的转换器,5V对应的数字量为1024,2.5V应该是512,所以单片机一旦得知AD转换后的数字量超过512时,把数字接口13的LED的变量ledpin为HIGH。 下面是Arduino程序: 按下“三角”图标,同时按下Shift,你就可以看到0018版 Arduino 编程软件的HEX到哪去了,你看上图编译结果区,我打阴影的部分,可以看到HEX所藏得目录。 把HEX文件
[电源管理]
<font color='red'>AVR</font>的编程语言<font color='red'>Arduino</font>可用Proteus仿真<font color='red'>调试</font>
vscode 使用 IAR_STM8 工具 编译调试 STM8 项目
本文介绍如何在 EIDE 上使用 IAR_STM8 工具链完成项目编译,并使用 STM8-Debug 完成调试 本文以 STM8S105K4T6 为例 1. 使用 EIDE 创建一个 8/16 Bit MCU 项目 2. 项目目录下创建一个文件夹,将 STM8S 标准外设库复制到该目录下 3. 添加宏,本例是:STM8S105 4. 将 STM8S_StdPeriph_Driver 目录添加到项目,并排除 无用和不支持 的外设 排除该 芯片 不支持的外设,和不需要使用的外设 5. 切换到 IAR_STM8 工具链,打开配置,填写要使用的 链接脚本 名称 所有可用的 链接脚本 位置: IAR 安装路径
[单片机]
vscode 使用 IAR_STM8 <font color='red'>工具</font><font color='red'>链</font> 编译<font color='red'>调试</font> STM8 项目
最便宜的AVR调试工具
AvrMon 是一种交互式的调试工具。程序执行时 , 他处于等待状态: ------------------------------------------------------------------ Waiting for uC to send break token; hit ESC to interrupt. Break token received: 1, 0x01, B00000001; program count 0x0085 ---------------------------------------------------------------- avrMon 在你需要调试的地方,加一
[单片机]
最便宜的<font color='red'>AVR</font><font color='red'>调试</font><font color='red'>工具</font>
AVR开发 Arduino方法(二) 中断子系统
在了解ATMega328P的中断子系统之前,首先要了解中断的概念。你正在看书,这时电话响了,你会怎么做呢?相信大多数人会这样:先标记看到的位置,接完电话回来后继续阅读。这就是一个现实生活中中断的例子,我们把“电话响了”成为中断源。 ATMega328P拥有26个中断源,如下表所示: 向量号 程序地址 中断源 中断定义 中断服务程序名称 1 0x0000 RESET 外部电平复位,上电复位,掉电检测复位,看门狗复位 2 0x0002 INT0 外部中断请求0 INT0_vect 3 0x0004 INT1 外部中断请求1 INT1_vect 4 0x0006 PCINT0
[单片机]
AVR开发 Arduino方法(六) 内存子系统
  Arduino UNO R3主处理器ATMega328P的芯片内部拥有3种存储器:数据存储器,程序存储器和电可擦写可编程存储器;它们各自有不同的用途。 1. 数据存储器   数据存储器是一块2KB大小的静态随机存储器(SRAM)。其中一部分空间分配给了通用寄存器和I/O寄存器,其余部分一般用于存储全局变量,堆栈数据和支持动态内存分配。它的存取速度快,但掉电后数据会丢失。 2. 程序存储器   程序存储器是一块32KB大小的闪存(Flash),其中0.5KB用于引导程序。它可以多次擦写,掉电后数据不会丢失,一般用于存储程序。 3. 电可擦可编程只读存储器   电可擦写可编程只读存储器(EEPROM)是一块1KB大小的
[单片机]
AVR开发 Arduino方法(一) 端口子系统
  Arduino UNO R3使用的主处理器ATMega328P上有3个8位的输入/输出端口,它们分别是PB,PC和PD。Arduino IDE提供的Blink示例可以帮助我们了解端口的数字输出功能: 1 int led = 13; 2 3 void setup() { 4 pinMode(led, OUTPUT); 5 } 6 7 void loop() { 8 digitalWrite(led, HIGH); 9 delay(1000); 10 digitalWrite(led, LOW); 11 delay(1000); 12 }   这个示例使Arduino 13(PB5
[单片机]
<font color='red'>AVR</font><font color='red'>开发</font> <font color='red'>Arduino</font>方法(一) 端口子系统
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved