Arduino - 没有外部水晶的燃烧Bootloader

时间:2016-05-16 14:22:54

标签: arduino bootloader

我试图将引导加载程序烧录到ATMEGA328P - AUR,这是我的Arduino Uno的32引脚SMD变体。我尝试过Arduino网站建议烧录引导加载程序的推荐方法。但是,我没有推荐使用16MHz晶振,所以我尝试了他们描述的使用内部8MHz振荡器的解决方法。燃烧引导程序给了我" Yikes!设备签名无效"错误。你认为芯片不兼容吗?使用内部振荡器的问题?我应该买水晶吗?

1 个答案:

答案 0 :(得分:1)

仅用于无效的设备签名 - (这通常在内部时钟打开时发生)

对于ATMEGA328p,如果出于某种原因预先加载了引导加载程序,则签名不匹配,因此您必须执行此操作,然后将其<<<请不要忘记,否则你必须在编写脚本之前每次都要启动,直到你发现它为止。

  1. 您想要打开Arduino程序文件中的avrdude.conf文件

      

    for mac:显示PC和Linux的包内容只需搜索Program Files

  2. 在此文件中搜索" ATMEGA328P"在它下面应该是一个名为签名替换的字段" 0x1e 0x95 0x14" (328签名)" 0x1e 0x95 0x0F" (328p签名)

  3. 按照下面的步骤2 - 4进行操作,如果这样可以完成所有设置。
  4. 如果内部时钟未出现同步错误

    ATMEGA328p有一个内部振荡器,工作在8MHz,但是当一个16MHz的引导加载程序被烧毁时,这个振荡器显然已经关闭。因此,如果您要将8MHz(lilypad)类型的引导加载程序刻录到它,则必须使用16MHz振荡器,以便内部时钟可以打开。

    要做到这一点:

    1. 在UNO R3上加载ArduinoISP示例脚本,您将用
    2. 启动加载
    3. (在工具>板中配置>面包板上的LilyPad Arduino或ATMEGA328)
    4. (在工具中配置>端口> ArduinoISP)
    5. 之后您应该准备好刻录启动加载程序
    6. 如果同步错误仍然存​​在,则表示时钟未对齐,这意味着您必须放慢启动加载程序

      1. 在硬件文件夹中搜索avr文件夹中的boards.txt文件
      2. 编辑包含" atmega328bb.upload.speed = 57600"的文件中的行。阅读" atmega328bb.upload.speed = 19200"
      3. 再次尝试上面的步骤2 - 4
      4. 随着问题的发展,以各种组合或适当地尝试这些步骤。如果这似乎不起作用只是继续搜索论坛...我在谷歌上发现所有这些约3小时 - 祝你好运!