我想用atmega8制作一个电路的克隆我有原理图和PCB可以问题是我想读取atmega8芯片上的hex文件而我的问题是它可行吗?如果我想检测avrdudess上的芯片类型是否有必要写锁定字节和HIGH熔丝和低熔丝,或者我只需要预测锁定字节?
答案 0 :(得分:1)
问题是我想读取atmega8芯片上的hex文件,我的问题是它可行吗?
如果未对锁定位进行编程,则可以通过向-U flash:r:flash.hex:i -U eeprom:r:eeprom.hex:i
的调用添加avrdude
选项来读取闪存和EEPROM的内容。
如果我想检测avrdudess上的芯片类型是否有必要写锁定字节和HIGH熔丝和低熔丝,或者我只需要预测锁定字节?
您无需向芯片写入任何内容以检测其类型。 我想你要做的就是点击“检测”按钮。
...(请参阅此答案下的评论)
也许我们应该从不同的角度来解决问题:你有ISP程序员还是Arduino板? 如果您有程序员,那么尝试使用它来读取芯片的内存。 如果你有一个Arduino,用ArduinoISP刻录它,连接到atmega8,如本页底部所示 - 不要担心不同的芯片:我们感兴趣的引脚(reset,vcc,gnd,xtal,sck, miso,mosi)在atmega168和atmega8上都有相同的“数字”。 不要忘记Arduino复位和接地时的10 uF电容。
请勿使用我在上一条评论中链接的教程中的“Burn Bootloader”命令。
相反,运行AVRDUDESS,选择avrisp作为编程器,将波特率设置为19200,然后单击“检测”按钮。 如果有效,你可以阅读闪光灯。
提示:您可以选中“不要写”选项,以确保您不会意外覆盖芯片内存中的内容。
我还有一个问题。我需要阅读eeprom来制作克隆吗?或者我只需要闪光灯?
最安全的方法是阅读它。
是否真的需要,取决于程序 - 它是如何编写的,eeprom是用于存储配置(如果它被使用)或一些常量等。
如果它用于存储配置,则可能是以某种方式处理所有数据读取0xFF
的特殊情况,例如: G。默认配置是从闪存加载的。
如果常量存储在eeprom中,那么在不复制内容的情况下,程序将无法按预期工作。
正如您所看到的,除非您有一个好的反驳(一些技术问题,或者您绝对确定闪存中的程序不使用eeprom或其他东西),否则复制它会更安全。
对不起,我犯了一个错误,我的意思是将flash和eeprom写入一个空的atmega8我现在已经阅读了我想做一个克隆我怎么能这样做我有HIGH保险丝和低保险丝和lockbyte我用avrdudess红色它们
我是否只需要编写闪存,或者我也必须编写eeprom
如果要制作精确副本,请执行以下操作:
avrdude
,确保{{ 1}}选项在-U:flash:w:...
)
您必须使用ISP程序员,ArduinoISP就足够了。