zoukankan      html  css  js  c++  java
  • AVR开发 Arduino方法(附一) 工具链与调试技术

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

    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程序需要以下软件包:simulavrgdb-avrddd,其中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的缩写)按钮,程序会跳转到主函数的位置,就可以开始调试了:

  • 相关阅读:
    loadrunder之脚本篇——集合点设置
    Loadrunner之脚本篇——事务函数
    Loadrunder之脚本篇——事务时间简介
    Loadrunder之脚本篇——参数化在场景中的运用
    Java提高(一)---- HashMap
    阅读收集
    SpringMVC是什么?
    elasticsearch head安装
    Elasticsearch 全量遍历数据
    JVM 堆内存,参数优化
  • 原文地址:https://www.cnblogs.com/lets-blu/p/7550335.html
Copyright © 2011-2022 走看看