【问题标题】:8Mhz Bootloader for Arduino Micro用于 Arduino Micro 的 8Mhz 引导加载程序
【发布时间】:2017-06-24 13:29:39
【问题描述】:

我刚刚使用 Arduino Micro 开发板完成了一个项目,并想迁移到独立的 ATmega32。

我需要在 3.3V 下运行它,我不想走超频之路,所以我有一个 8MHz 晶体可以放在上面。

我仍然希望能够通过 USB 和 Arduino 编译器上传草图,所以我认为我需要刻录不同的引导加载程序。

为此,我购买了一个 USBASP 编程器。

我有点不确定下一步该做什么 - 我能找到的关于该主题的所有内容要么与 ATmega328 相关,要么与使用另一个 Arduino 烧录引导加载程序有关。

我发现我需要修改boards.txt 以指向正确的引导加载程序....但是哪个是8Mhz 的ATmega32 的正确引导加载程序?

我还需要更换保险丝吗?

谢谢

【问题讨论】:

  • AVR 工作室是您所需要的。
  • 我完全不确定,但我会尝试使用原始的 Optiboot 项目。我说有一个 Mega32 引导程序;您可以尝试下载存档,然后修改 board-1.6,txt 文件以添加另一个变体。您可以使用与原始二进制文件相同的二进制文件(以 16MHz 运行),但可以更改时钟速度,也许还可以更改波特率(如果引导加载程序没有回复,则将其减半)。更改引导加载程序工具(不确定如何操作,但我认为您需要设置 USBASP)。然后试一试...检查数据表上的保险丝以确定。还有... 为什么是 8MHz 晶体?通常我会避免它,因为 328 有...
  • ... 一个 8MHz 的内部振荡器,所以我可以使用它来简单地更换保险丝(并节省一个晶体和两个电容器)。我只在需要更高精度的地方使用晶体,但通常以 16MHz 运行......
  • 您好,感谢您的帮助。我的项目是一个比赛计时系统,需要一个非常精确的时钟,可以很好地保持时间。所以我不确定内部时钟是否会减少芥末。
  • 这与 C 编程语言无关,也与 Arduino 无关。您应该首先阅读 ATmega 数据表。原始编程不需要引导加载程序。

标签: bootloader atmega


【解决方案1】:

我觉得你有点不走运。

ATmega 没有硬件 USB,所以我假设引导加载程序使用 V-USB 来实现 USB。该堆栈是 USB 高速信号的软件实现,需要至少 12 MHz 时钟(越高越好)。

我认为您不能仅使用内部 8 MHz 振荡器来运行 V-USB。

【讨论】:

  • 我想知道如果其他一些软件正在运行,它的操作性如何。即使是中断也会造成麻烦。更正:链接页面说它至少需要 12MHz,12.8 用于内部 RC-osc。
【解决方案2】:

根据 OP cmets,micro 确实是 Atmega32u4,而不是 Atmega32(@OP:请修正问题以匹配此问题)。

由于它具有板载 USB,因此您可以使用预先存在的引导加载程序,例如 sparkfun :

https://www.sparkfun.com/products/12587

在这里,您可以获得他们的产品之一的链接,即 Arduino pro micro 3.3V(运行频率为 8MHz)。您可以将sparkfun arduino boards 存储库添加到您的 IDE,然后只需使用其 pro micro 3.3V 的板规范上传正确的引导加载程序并通过 USB 对其进行编程,就像通常的 Arduino Micro 一样。

【讨论】:

  • 谢谢你——我认为这绝对是前进的方向!
  • @NickThornton 好的,然后试试看它是否有效。如果是,请将答案标记为已接受,以便寻找相同问题的人轻松找到解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多