0

makefile を使用してコードをビルドし、ELF ファイルを生成しました。

私のattiny85で理解できるようにするために、私は通常avr-objcopy -O ihex -R .eeprom -R .fuse main.elf main_all.hex. ヒューズ設定を含む hex ファイルを取得します。.hexファイルをフラッシュしますavrdude -p t85 -c avrispmkII -P usb -U flash:w:main_all.hex。動作し、テスト済みの SPI を介して接続された avrispmkII を使用しています。

今度はエラーになりました。

ERROR: address 0x820003 out of range

これが問題であることをヒューズでコードで遊んだので、私は推測します。Contiki のコンパイル エラー " ERROR: address 0x820003 out of range at line 1740 of..."によると、avrdude にヒューズなしで 16 進数を作成させることができることに気付きました。

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

これも機能し、attiny85 が完全に正常にフラッシュできるようになりました。

今、本当の質問です。

attiny85 のヒューズを入手するにはどうすればよいですか?

ヒューズを設定する前に、どのヒューズをどのように設定しているかを確認する方法はありますか? 私は12V(HV)でフラッシュした経験がなく、このarvmkIIの同義語は真実ではないため、以前に明示的に尋ねました(はい、彼ができるかどうかデータシートを調べる必要があります)。

私の主な関心事は、アティにヒューズを取り付けることです。私は大学院の電気技師で、余暇にプログラミングをしています。だから私は、権限を過剰に与えられたリンクと魔法のコマンドで問題ありません。

(ドイツ語原文からの大まかな翻訳)

4

1 に答える 1

2

avrdude のコマンドラインでヒューズ バイトを設定できます。

attiny には、低、高、および拡張の 3 つのヒューズ バイトしかありません。それらはpで見つけることができます。データシートの148 。

ヒューズ設定を16進数として計算し、次のような-Uスイッチを含めます

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

延長ヒューズ、高ヒューズ、および低ヒューズ用。

于 2017-01-10T23:53:30.707 に答える