8

うーん..私はウェブ上で多くのコーナーを検索してきました..しかし、私の問題に対する解決策を見つけることができませんでした。前回 AVRISP2 を使用したときは問題なく動作しました。uC でプログラムを書き込もうとすると、次のメッセージが表示されます。

avrdude: stk500v2_command(): command failed
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Unknown status 0x00
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

インターネットで多くの投稿を見つけましたが、解決策はありませんでした。問題が何であるかを知っている人はいますか?

すでにピンをチェックしており、ISP のファームウェアを更新しました (blinkdemo は動作します)。

ヒントをありがとう..

4

3 に答える 3

8

私と私の友人の何人かは時間がかかりましたが、何時間もの検索、試行、および「デバッグ」の後、問題を修正することができました. これが、同じ問題を抱えている他の人が解決するのに役立つことを願っています。

問題は、ISP (私の場合は USB-Prog 3.3) が、1MHz の速度でしか動作していない Atmega8 との通信速度が速すぎることでした。したがって、2 つの解決策が考えられます。

  • ISP の速度を遅くする
  • Atmega8のスピードアップ

私は、ISP が下層のマイクロコントローラーの速度の 1/4 よりも高速であってはならないことをどこかで赤字にしました。

次の行は私の日を救った:

Atmega8 を 8MHz に設定し、その周波数をスピンアップするために 64ms を与えます。

avrdude -p atmega8 -P usb -c avrispv2 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m -B 22

avrdude マンページの抜粋を次に示します。

`-B BITCLOCK'
        Specify the bit clock period for the JTAG interface or the ISP
        clock (JTAG ICE only).  The value is a floating-point number in
        microseconds.  The default value of the JTAG ICE results in about
        1 microsecond bit clock period, suitable for target MCUs running
        at 4 MHz clock and above.  Unlike certain parameters in the
        STK500, the JTAG ICE resets all its parameters to default values
        when the programming software signs off from the ICE, so for MCUs
        running at lower clock speeds, this parameter must be specified on
        the command-line.

さらに、Android 用のAVR Fuse Calculatorをお勧めしたいと思います。これは、マイクロコントローラー プログラマーにとって非常に便利なツールのようです。

于 2013-03-10T00:48:01.973 に答える