【问题标题】:Upload sketch with C++使用 C++ 上传草图
【发布时间】:2012-10-07 05:03:49
【问题描述】:

我想用 Arduino IDE 编译 sketch,然后找到 bin 文件并使用另一个程序上传它。

如何为 Arduino 设计自定义上传器(规格等)?

【问题讨论】:

  • 你为什么要这样做?
  • @skinnyTOD 我正在开发一个项目,arduino 充当设备的程序员,程序完成后它还有其他用途 2-1
  • 如果您使用 Arduino plugin for Microsoft Visual Studio 它总是编译到相同的位置,这更容易按照您描述的方式自动化。也可以使用简单的宏调用上传。

标签: c++ arduino


【解决方案1】:

您已经可以使用avrdude 执行此操作。如果您绝对不需要开发其他程序,请尝试使用它。

如果您绝对必须实现自己的程序员,请查看 stk500 协议。

示例用法:

/usr/local/bin/avrdude -V -F -C /etc/avrdude.conf -p atmega328p -P /dev/ttyACM0 
    -c stk500v1 -b 57600 -U flash:w:applet/helloworld.hex

多平台教程:

这是一个类似的程序(用 c# 编写),它依赖于 avrdude:

命令行示例:

以下是用于上传文件的命令 编程到 Arduino Duemilanove(带有 ATmega168 芯片)。

avrdude -c arduino -p m168 -P usb -U flash:w:FILENAME

替换文件名 使用您希望上传到开发板的十六进制文件。这假设 您想将文件写入闪存。你当然可以验证 或根据您的芯片从内存的不同部分读取,但 我会让你从 AVRdude 手册中弄清楚这一点。

【讨论】:

    【解决方案2】:

    您需要开发一些可以使用 Arduino 引导加载程序协议的东西。我建议查阅http://arduino.cc 上的 Arduino 文档和代码以获取更多信息。

    【讨论】:

      【解决方案3】:

      查看 makefile - 将二进制文件上传到 Arduino 有一个单独的任务。通过这种方式,您将找到执行此操作的工具和参数(我不记得从头顶开始),您将能够手动(使用该工具)而不是从 IDE 执行此操作。编写这样的工具似乎是在重塑 wjeel。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-14
        • 1970-01-01
        • 2011-10-25
        • 1970-01-01
        相关资源
        最近更新 更多