我试图将引导加载程序烧录到ATMEGA328P - AUR,这是我的Arduino Uno的32引脚SMD变体。我尝试过Arduino网站建议烧录引导加载程序的推荐方法。但是,我没有推荐使用16MHz晶振,所以我尝试了他们描述的使用内部8MHz振荡器的解决方法。燃烧引导程序给了我" Yikes!设备签名无效"错误。你认为芯片不兼容吗?使用内部振荡器的问题?我应该买水晶吗?
答案 0 :(得分:1)
仅用于无效的设备签名 - (这通常在内部时钟打开时发生)
对于ATMEGA328p,如果出于某种原因预先加载了引导加载程序,则签名不匹配,因此您必须执行此操作,然后将其<<<请不要忘记,否则你必须在编写脚本之前每次都要启动,直到你发现它为止。
您想要打开Arduino程序文件中的avrdude.conf文件
for mac:显示PC和Linux的包内容只需搜索Program Files
在此文件中搜索" ATMEGA328P"在它下面应该是一个名为签名替换的字段" 0x1e 0x95 0x14" (328签名)" 0x1e 0x95 0x0F" (328p签名)
如果内部时钟未出现同步错误
ATMEGA328p有一个内部振荡器,工作在8MHz,但是当一个16MHz的引导加载程序被烧毁时,这个振荡器显然已经关闭。因此,如果您要将8MHz(lilypad)类型的引导加载程序刻录到它,则必须使用16MHz振荡器,以便内部时钟可以打开。
要做到这一点:
如果同步错误仍然存在,则表示时钟未对齐,这意味着您必须放慢启动加载程序
随着问题的发展,以各种组合或适当地尝试这些步骤。如果这似乎不起作用只是继续搜索论坛...我在谷歌上发现所有这些约3小时 - 祝你好运!