mathjax

2018年5月19日土曜日

FRDM-K64Fで困った話。(OpenSDAv2のアップデートの後に、Mbedで作ったFWを一度焼いて問題解決)

FRDM-K64Fは、開封後、同封されているQuick Referenceガイドに従い、PCと"SDA USB"と呼ばれるポートをUSBケーブルでつないで通電すれば、出荷時に焼きこまれているdemoが動作することになっている。

しかし、それが動かない。(正確には一瞬動いたと思ったら、二度と動かなった。)

何が起きたかと言うと、FRDM-K64F | Mbed ←ここの下の方に書いてあるFirmware Updateが必要なのだ。

FRDM-K64FはOpenSDAv2というデバッガのハードウェアが組み込まれている。開発のターゲットであるKinetis® K64 MCUだけでなく、これにFirmwareを書き込んだり、デバッグをしたりするためのKinetis® K20 MCU(MK20DX128VFM5)がOpenSDA Interfaceとして組み込まれていて、ボードをStorageに見せてくれたりするのだけれども、このOpenSDA v2/2.1 bootloaderがWindows 10で動作しているPCと接続するとおかしくなるという問題があり、その対策としてFirmware Updateが必要になる。

 FRDM-K64F | Mbed
  → OpenSDA Serial and Debug Adapter|NXP
     → DAPLink bootloader update | Mbed

NXPのサイトに書いてある方法をやってもうまくいかなかったので、NXPのサイトでArm Mbed blog articleと紹介されているMbedのDAPLink bootloader update | Mbedのページを参考にして操作を行う。

最近購入したNXPのパッケージに入ったFRDM-K64Fの場合、リセットボタンを押しながら、Windows 10 PCとUSB接続をすると、Enumはされて、USBストレージとしてマウントされるのだがそれが"BOOTLOADER"みたいな名前で出てきて"MAINTENANCE"にはならない。それなのでStep 1.にあるようにDAPLink bootloader image(0244_k20dx_bootloader_update_0x5000.bin)をダウンロード、Step 2.に従い、Storage Serviceを停止、リセットボタンを押しながら、FRDM-K64FをWindows 10のPCとUSB接続。"BOOTLOADER"みたいな名前でマウントされたStorageにDAPLink bootloader image(0244_k20dx_bootloader_update_0x5000.bin)のファイルをドロップする。ファイルの書き込みが完了すると、FRDM-K64Fが反応をする。(LEDがチカチカしだすんだったかな?)そうしたら、一旦USBを抜き差しすると"MAINTENANCE"でマウントされる。それで、Step 4.でStorage Serviceを再開。DAPLink ←のサイトでFRDM-K64Fを入力すると、FIRMWARE FILE: 0246_K20DX_FRDMK64F_0X5000.BINがリンクされて登場するので、これをダウンロード。"MAINTENANCE"になっているストレージにこのファイルをドロップすると、"DAPLINK"という名前でマウントされて、無事にFirmwareの更新は完了。

しかし、問題はそれだけでは済まない。MCUXporessoでdemoプログラムをビルドして、Debugをして焼きこもうとするのだけれど、エラーが出て焼きこみが出来ない。全く良く分からず困ったのだけれど、問題を解決する方法が1つだけ分かった。それは、Mbedのサイトでログインをして、Compilerで何かのdemoプログラムをコンパイルして、Firmwareのバイナリをダウンロード。これを"DAPLINK"という名前でマウントされているStorageにドロップ。するとFRDM-K64Fが自動でそのdemoを焼きこむので、程よいタイミングでResetボタンを押すと、そのdemoが動作する。そしてこのMbedで作ったFirmwareを一度焼くという処理を行った後は、MCUXpressoからの焼きこみ、debugも問題なく動作するようになる。

この問題と解決策は何処にも書いていなくて、本当に困った。

2 件のコメント:

  1. 情報共有ありがとうございます。
    まだFRDM-K64Fを調べている段階ですが、こういう「ハマり」情報と対処情報は参考になります。

    返信削除
    返信
    1. お役に立てたなら幸いです。

      削除