【问题标题】:Avrdude .hex with Fuses带保险丝的 Avrdude .hex
【发布时间】:2017-01-10 20:37:00
【问题描述】:

我使用了一个 makefile 来构建我的代码并生成了一个 ELF 文件。

为了便于我的 attiny85 理解,我通常使用avr-objcopy -O ihex -R .eeprom -R .fuse main.elf main_all.hex。我得到一个包含保险丝设置的十六进制文件。我用avrdude -p t85 -c avrispmkII -P usb -U flash:w:main_all.hex 刷新了十六进制文件。 我正在使用通过有效且经过测试的 SPI 连接的 avrispmkII。

这次我出错了。

ERROR: address 0x820003 out of range

我猜是因为我在代码中使用了保险丝,这就是问题所在。根据Contiki compile error, " ERROR: address 0x820003 out of range at line 1740 of...", 我注意到你可以让 avrdude 创建一个没有保险丝的十六进制。

avr-objcopy -O ihex -R .eeprom -R. Fuse main.elf main_ohne.hex

这也有效,现在让 attiny85 完全正常闪烁。

现在才是真正的问题。

我如何仍然获得 attiny85 上的保险丝?

在设置保险丝之前,有什么方法可以查看我设置的保险丝是如何设置的?我之前明确问过,因为我没有用 12V (HV) 闪烁的经验,而且这个 arvmkII 的同义词不正确(是的,我应该在数据表中查看他是否可以)。

我主要关心的是把保险丝放在阁楼上。我是一名毕业的电气工程师,业余时间正在编程。所以我对过度特权的链接和魔法命令很好。

(来自German original的粗略翻译)

【问题讨论】:

  • Deine Fragen müssen in English sein。 (您的问题必须是英文)

标签: avr avrdude winavr


【解决方案1】:

您可以在 avrdude 的命令行上设置熔丝字节。 example

服装上只有 3 个熔丝字节:低、高和扩展。它们可以在第 页找到。 datasheet 中的 148 个。

只需将保险丝设置计算为十六进制数并包括 -U 开关,如

-U efuse:w:0xff:m  -U hfuse:w:0x89:m  -U lfuse:w:0x2e:m

用于扩展、高和低保险丝。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 2014-03-08
    • 2019-08-25
    • 2016-03-28
    • 2014-04-19
    • 2016-11-28
    • 2012-04-11
    相关资源
    最近更新 更多