首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >读取atmega8的十六进制文件

读取atmega8的十六进制文件
EN

Stack Overflow用户
提问于 2016-08-14 12:16:03
回答 1查看 4.1K关注 0票数 0

我想用atmega8做一个电路的克隆,我有原理图和电路板,问题是我想读atmega8芯片上的十六进制文件,我的问题是它是否可行?如果我想在avrdudess上检测芯片的类型,是否需要编写锁字节、高熔断器和低熔断器,还是只需要预测锁字节?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-15 18:07:06

  1. 问题是我想读atmega8芯片上的十六进制文件,我的问题是它是否可行? 如果没有对锁位进行编程,则可以通过将-U flash:r:flash.hex:i -U eeprom:r:eeprom.hex:i选项添加到avrdude调用中来读取flash和EEPROM的内容。
  2. 如果我想在avrdudess上检测芯片的类型,是否需要编写锁字节、高熔断器和低熔断器,还是只需要预测锁字节? 你不需要在芯片上写任何东西来检测它的类型。我想你要做的就是点击“检测”按钮。
  3. ..。(见本答覆下的评论) 也许我们应该从另一个角度来处理这个问题:你有ISP程序员还是Arduino板?如果你有一个程序员,那么试着用它来读取你芯片的内存。如果您有一个Arduino,用ArduinoISP烧录它,连接到atmega8,如本页底部所示--不要担心不同的芯片:我们感兴趣的引脚(重置、vcc、gnd、xtal、sck、miso、mosi)在atmega168和atmega8上都有相同的“数字”。不要忘记10 uF电容器的重设和Arduino.的接地 不要使用我在前面的注释中链接到的教程中的“燃烧引导加载程序”命令。 相反,运行AVRDUDESS,选择avrisp作为程序员,将波特率设置为19200,然后单击“检测”按钮。如果能用的话,你可以读闪光灯。 提示:您可以勾选“不要写”选项,以确保您不会意外覆盖芯片内存的内容。
  4. 我还有一个问题,.do,我需要阅读eeprom来做一个克隆?还是我只需要闪光灯? 最安全的方法就是阅读它。它是否真正需要,取决于程序--它是如何编写的,eeprom是否用于存储配置(如果使用它),还是一些常量,等等。如果它用于存储配置,那么当所有数据读取的0xFF都被以某种方式处理时,可能是特殊情况,例如,从闪存加载默认配置。如果常量存储在eeprom中,那么如果不复制它的内容,程序将无法按预期工作。正如您所看到的,只复制它是更安全的,除非您有一个很好的反驳(一些技术问题,或者您绝对确信闪存中的程序没有使用eeprom或其他东西)。
  5. 对不起,我犯了一个错误,我想把闪存和eeprom写到一个空的atmega8上,我已经读过了,现在我想做一个克隆,我该怎么做呢?我有高熔断器,低熔断器,锁字节,我用avrdudess将它们红色。 我是否只需要写闪存,还是也必须写eeprom? 如果要复制精确的副本,请执行以下操作:
代码语言:javascript
运行
复制
- read the eeprom and flash memories, fuse and lock bytes of the original chip
- (put the original chip aside)
- perform an erase cycle on the chip you want to become a copy of the original one (make sure EESAVE is unprogrammed)
- program the fuse bytes (be cautious about RSTDISBL and similar bits)
- (connect crystal/resonator/RC/... if necessary -- see 'Clock Sources' section in the datasheet)
- program the eeprom
- **check the "Disable flash erase (-D)" checkbox,** program the flash memory and lock bits (it's preferable to do it with one invocation of `avrdude`, make sure `-U:flash:w:...` option is given before `-U:lock:w:...`)

你必须使用ISP程序员,ArduinoISP应该就足够了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38942149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档