1

我在使用 Eclipse 将代码上传到我的Seeeduino ADK(本质上是 Arduino Mega 2560)时遇到了一些问题。基本上,这个线程解释了我的问题。有时我使用 Arduino IDE 上传会出现一系列超时,通常通过移除并重新插入 USB 来解决。不幸的是,这无助于解决 Eclipse 中的问题。

我一直在尝试通过命令行使用 AVRdude 进行上传(我什至在上述线程的最后一条评论中尝试了“hacky”解决方案),但无济于事。这是我为此使用的行:

"%AVR_DUDE%" -pm2560 -cstk500v2 -P\\.\%COMM_PORT% -b115200 -F -V -D - Uflash:w:"%HEX_FILE%":a -C"%AVR_DUDE_CONF%"

这给了我:

avrdude.exe: stk500v2_ReceiveMessage(): timeout

我知道上面的批处理变量没问题,因为 AVRdude 运行正确(但随后超时)。如果有人有任何想法或提示可以帮助我上传,我将不胜感激。预先感谢。

编辑:事实证明,造成这种情况的原因可能是 Arduino IDE 在上传之前向开发板发送了一个重置​​,而 Eclipse AVR 插件没有这样做。我将对此进行测试并编写一个上传 perl 脚本,但我相当确定这是问题所在。

4

2 回答 2

2

你的怀疑是正确的。Arduino IDE 使用 AVRDude 的修补版本来脉冲 DTR 线路并在每次上传之前重置电路板。出于某种原因,有些人很难获得正确的命令行参数来在 Mega2560 上复制它。我自己也遇到过同样的问题——ATMega328 的工作没有问题,但是 2560 需要手动重置。

有一些进一步的解释和提示可能让它在这里工作(也检查评论): http: //false.ekta.is/2011/05/avrdude-5-10-arduino-mega-2560-command-line-uploading /

于 2012-06-09T17:26:59.747 回答
0

在这里查看详细信息... http://false.ekta.is/2011/05/avrdude-5-10-arduino-mega-2560-command-line-uploading/

如果使用 avrdude > 5.1 版,请将程序员更改为 -cwiring

这将首先重置芯片

于 2014-05-31T10:14:22.063 回答