【发布时间】:2016-08-14 12:16:03
【问题描述】:
我想用 atmega8 克隆电路,我有原理图,PCB 没问题,问题是我想读取 atmega8 芯片上的 hex 文件,我的问题是它可行吗?如果我想检测 avrdudes 上的芯片类型,是否需要写入锁定字节和高保险丝和低保险丝,还是只需要预测锁定字节?
【问题讨论】:
标签: arduino microcontroller avr atmega avrdude
我想用 atmega8 克隆电路,我有原理图,PCB 没问题,问题是我想读取 atmega8 芯片上的 hex 文件,我的问题是它可行吗?如果我想检测 avrdudes 上的芯片类型,是否需要写入锁定字节和高保险丝和低保险丝,还是只需要预测锁定字节?
【问题讨论】:
标签: arduino microcontroller avr atmega avrdude
问题是我想读取 atmega8 芯片上的 hex 文件,我的问题是它是否可行?
如果未对锁定位进行编程,则可以通过在avrdude 的调用中添加-U flash:r:flash.hex:i -U eeprom:r:eeprom.hex:i 选项来读取闪存和EEPROM 的内容。
如果我想检测 avrdudes 上的芯片类型,是否需要写入锁定字节和高保险丝和低保险丝,还是只需要预测锁定字节? p>
您无需向芯片写入任何内容即可检测其类型。 我想您所要做的就是单击“检测”按钮。
...(请参阅此答案下的 cmets)
也许我们应该从不同的角度来解决这个问题:你有 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 中,那么如果不复制其内容,程序将无法按预期工作。
如您所见,复制它更安全,除非您有充分的反驳(一些技术问题或您绝对确定 Flash 中的程序不使用 eeprom 或其他东西)。
对不起,我犯了一个错误,我的意思是将闪存和 eeprom 写入一个空的 atmega8 我已经读取了现在我想克隆我该怎么做我有高保险丝和低保险丝和锁字节我用 avrdudess 把它们变红
我需要只写闪存还是我也必须写 eeprom
如果您想制作精确的副本,请执行以下操作:
avrdude 来完成,确保之前给出了 -U:flash:w:... 选项-U:lock:w:...)您必须使用 ISP 编程器,ArduinoISP 就足够了。
【讨论】: