2

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

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

4

3 回答 3

2

您已经可以使用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

多平台教程:

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

命令行示例:

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

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

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

于 2012-10-02T18:41:33.737 回答
1

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

于 2012-10-02T16:26:32.680 回答
1

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

于 2012-10-02T16:31:58.937 回答