注释
应该注意的是,有问题的大小(即 2KiB 与 512 字节)由熔断器设置决定,而不是由上传的 .hex 图像的物理大小决定 |
@csdexter:是的,保险丝设置了 2KB 和 0.5KB 大小是正确的。但是,我很确定“Burn Bootloader”工具在 Optiboot 刷新之前正确设置了这些保险丝。此外,Arduino IDE 在其“boards.txt”文件中为 Uno 和 Duemilanove/Nano 设置了闪存限制。不确定,但这表明 Arduino IDE 将检查并防止您超出此限制,具体取决于您使用的板。 |
@csdexter: 我检查了保险丝,只是为了确定。Arduino IDE (1.6.5) 在刷入引导加载程序之前确实烧毁了保险丝。 |
@chamnit– 效果如何?你有没有发现任何问题?如果没有,我也会这样做。 |
@109JB: 到目前为止,一切都很好。我已经将母排针焊接到几个 Nanos 和 3d 打印的外壳中,它大约是一包口香糖那么大。在过去的几天里,它们一直是我的专用开发板,我还没有发现任何明显的问题。尽管其中一个没有很好地闪烁并在串行终端中返回了很多垃圾。不知道那里发生了什么,但再次烧录引导加载程序将其带回来。 |
/usr/share/arduino/hardware/arduino/bootloaders/optiboot 自述文件 optiboot.c 等看起来很有用 几个可配置的选项:
|
“不确定,但这表明 Arduino IDE 会检查并阻止你超过这个限制,具体取决于你使用的板子。” 这是报告使用的闪存百分比所必需的。我不确定 IDE 是否足够智能以防止下载对目标来说太大的图像。 我听说如果图像太大,您可以炸毁引导加载程序。我自己没有做过任何破坏测试;) |
这是与 Uno 的 Optiboot 一起运行的 Arduino Nano 的更新。我偶尔会遇到一些闪烁例程无法正常工作的问题。它会超时而不是闪烁。解决方案是在闪烁例程开始后立即硬重置 Nano。需要一些练习才能正确把握时机,但它确实有效。因此,如果有人遇到此问题,这是一种解决方案。 |
如果您切断链接以防止它在每次重置串行链接时重新启动,这听起来就像您必须在 Uno 上执行的操作。IIRC,avrdude 切换其中一条串行线路以强制重置,如果您切断 UNO 上的链接,则必须在正确的时间进行手动重置。看来你必须在大约半秒内把它弄好。所以,正如你所说,它需要一些练习。 |
@chamnit你用这个线程节省了我的睡眠时间——在烧掉 optiboot 后,我无法将草图上传到我的 nano——不知道我必须选择新板作为 Uno 而不是 nano…非常感谢 |
尚尼特 评论 on 10 Jul 2015
我得到了几个 Arduino Nano,并一直在考虑摆脱它使用的大 2.0KB Duemilanove 引导加载程序,并用更小的 0.5KB Uno Optiboot 替换它。这基本上意味着您可以在 Nano 中比以前多塞入 1.5KB。这一点很重要,因为 Grbl 正好处于 Duemilanove 的 30KB 闪存限制的边缘,而 Uno 有 31.5KB。
我已经设法将 Optiboot 刻录到我的 Nano 上以释放额外的空间。有人知道这样做有什么问题吗?
这就是我的做法,我对可能发生的事情不承担任何责任,即使它似乎完全无害。
这会将 Optiboot 刻录到 Nano 上,释放 1.5KB 闪存空间,现在将像 Arduino Uno 一样运行。确保从那时起选择 Arduino Uno 作为电路板类型。