Arduino ? 还是我只需要闪光灯

Arduino ? 还是我只需要闪光灯,arduino,microcontroller,avr,atmega,avrdude,Arduino,Microcontroller,Avr,Atmega,Avrdude,最安全的方法是阅读它。 它是否真的需要,取决于程序——它是如何编写的,是使用eeprom存储配置(如果使用的话)还是一些常量,等等。 如果使用它来存储配置,那么可能会以某种方式处理所有数据读取0xFF时的特殊情况,例如。G默认配置是从闪存加载的。 如果常量存储在eeprom中,那么如果不复制其内容,程序将无法按预期工作。 正如您所见,复制它更安全,除非您有一个很好的反驳(一些技术问题或您绝对确定flash中的程序不使用eeprom或其他东西)。 对不起,我犯了一个错误,我想把闪存和eeprom

最安全的方法是阅读它。 它是否真的需要,取决于程序——它是如何编写的,是使用eeprom存储配置(如果使用的话)还是一些常量,等等。 如果使用它来存储配置,那么可能会以某种方式处理所有数据读取
0xFF
时的特殊情况,例如。G默认配置是从闪存加载的。 如果常量存储在eeprom中,那么如果不复制其内容,程序将无法按预期工作。 正如您所见,复制它更安全,除非您有一个很好的反驳(一些技术问题或您绝对确定flash中的程序不使用eeprom或其他东西)。

  • 对不起,我犯了一个错误,我想把闪存和eeprom写入一个空的atmega8,我已经读取了,现在我想做一个克隆,我怎么做我有高保险丝、低保险丝和锁字节,我用avrdudess将它们刷新
    我需要只写闪存还是也要写eeprom

    如果要制作精确副本,请执行以下操作:

    • 读取eeprom和闪存,熔断并锁定原始芯片的字节
    • (将原始芯片放在一边)
    • 在要成为原始芯片副本的芯片上执行擦除循环(确保EESAVE未编程)
    • 对保险丝字节进行编程(注意RSTDISBL和类似位)
    • (如有必要,连接晶体/谐振器/RC/…参见数据表中的“时钟源”部分)
    • 对eeprom进行编程
    • 选中“禁用闪存擦除(-D)”复选框,对闪存和锁定位进行编程(最好只调用一次
      avrdude
      ,确保在
      -U:lock:w:…
      之前给出
      -U:flash:w:…
      选项)
    您必须使用ISP程序员,ISP就足够了。


  • 感谢您的时间,我尝试只点击检测,但我得到“arduino stk500_getsync()not in sync resp=0x30”,我有另一个带有arduino引导加载程序的atmega8,如果我点击检测,我会得到相同的错误,但如果我更改波特率并点击检测GUI检测到的芯片。我有另一个不同引导加载程序的atmega8,我更改了波特率没有发生任何情况我得到相同的错误尝试以下波特率:1200、2400、4800、9600、19200、38400、57600、115200。好的,我会尝试让你知道结果。谢谢:)嗨,Aleksander,很遗憾,以上波特率均不适用于读取芯片类型是否有必要提供锁字节来读取芯片?感谢您的时间我尝试只点击检测,但我得到“arduino stk500_getsync(),not in sync resp=0x30”我有另一个带有Arduino引导加载程序的atmega8,如果我点击detect,我会得到同样的错误,但是如果我改变波特率,点击detect,GUI会检测到芯片。我有另一个不同引导加载程序的atmega8,我更改了波特率没有发生任何情况我得到相同的错误尝试以下波特率:1200、2400、4800、9600、19200、38400、57600、115200。好的,我会尝试让你知道结果。谢谢:)嗨,Aleksander,很遗憾,上述波特率均不适用于读取芯片类型。是否有必要提供锁字节来读取芯片?