
こんにちは。
マクニカでインテル® FPGA 製品の技術サポートをしている インテル・F・ハナコ です。
Mpression Odyssey MAX®10 FPGA Eval Kit の BLE & Sensor ボード(上の基板)には EFM32 と BLE が搭載されています。
これらの Firmware は、不定期に更新されています。先日(2016年2月中旬)、2.0 がリリースされました。
そこで、Mpression Odyssey のファームウェアをアップデートする方法 をご紹介します。
なお、本内容は「Odyssey MAX 10 FPGA and BLE Sensor Kit User Guide」の 5. Firmware Updates を参考に構成しています。
また私は普段インテル® の FPGA をサポートをしているので Silicon Labs(シリコン・ラボ)と Broadcom(ブロードコム)の製品に触れるのは初めてです。至らない点は目をつむってください (笑)
今回は、"インテル FPGA 担当のハナコがやってみた!BLE のファームウェアのアップデート" をご紹介します。
今回のアップデート作業は2つ!
- BLE のファームウェア・アップデート
- そのファームウェア・バージョンに対応した Bluetooth の MAC アドレス更新
いずれの作業も、ブロードコムの Bluetooth SMART 開発環境になじみのない私は、ファームウェア・アップデート専用のバーチャル COM ポート・スクリプトを使って作業を行います。
ではアップデート作業を行いましょう。
BLE のファームウェア・アップデート
1. 必要なファイルを入手
以下のファームウェアと関連ファイルを Mpression Odyssey の WEB サイト から入手します。
・ BLE Firmware Factory Image(Odyssey の BLE 用ファームウェア)
・ BLE Firmware Factory Configuration Settings(Bluetooth MAC アドレス更新のための設定ファイル)
・ BLE Firmware Update Utility Script(専用のスクリプト・ファイル)
なお、スクリプト・ファイル(*.bat)の保存パスには全角およびスペースは使用できません。スクリプトが正常に動作しなくなります。注意してくださいね。
2. ドライバをインストール
Odyssey の BLE & Sensor ボードに初めて USB シリアル通信をする人は、あらかじめ シリコン・ラボの USB Virtual シリアル・ポート・ドライバ (ダウンロードページの Utilities セクションにあります)をインストールしておいてください。
3. WICID Smart SDK をインストール
ブロードコムの開発環境 WICID Smart SDK を入手し、インストールします。
GUI を立ち上げてどうこうするわけではないのですが、ファームウェアのアップデート専用スクリプト(BLE_Firmware_Update.bat)を実行するには必要なんです。
Cypress の WEB サイト にアカウント登録をして WICED-Smart-SDK-x.x.x-IDE-Installer をダウンロードします。インストーラーを起動してインストールしてください。(当たり前の話ですが、インストールのパスには全角やスペースは NG ですよ。)
4. Odyssey ボードを分離し、ジャンパピンを設置
BLE & Sensor ボードと MAX® 10ボードに分離します。


Odyssey に付属しているバッテリーボードの4ピン・ヘッダー(J4)のうち、中2ピン(2と3)をジャンパピンで接続します
5. BLE & Sensor ボードにバッテリーボードを装着し、パソコンに接続
BLE & Sensor ボードに電源が供給されていないことを確認して、BLE & Sensor ボードにバッテリーボードを装着します。(バッテリーボードのリテーナにCR2032 コイン型電池は不要です。)
続いて、BLE & Sensor ボード(with バッテリーボード)とパソコンを USB-microUSB ケーブルで接続します。
6. ファームウェアのアップデート・ユーティリティを起動
BLE_Firmware_Update.bat をダブルクリックで実行すると、コマンド・プロンプト・ウィンドウが起動します。
環境変数名 SDK_INSTALL の変数値が設定されていないパソコンの場合は、WICED Smart SDK のインストール・フォルダを指定するようにメッセージが表示され、”フォルダーの参照” ウィンドウがポップアップされます。”WICID-Smart-SDK” フォルダが下位に存在するフォルダ(例では “WICID-Smart-SDK-2.2.2”)を指定してください。このステップを行っておけば自動的に SDK_INSTALL の環境変数設定が作成されます。次回以降のスクリプト実行ではこのフローはスキップされ、スムーズに作業に進むことができます。

BLE & Sensor ボードの接続が確認されます。


下記メッセージが表示され BLE & Sensor ボードが検出されないときは、デバイスマネージャーにおいて “ポート(COMとLTP)に “Silicon Labs CDC Serial port” が存在するかを確認してください。これが検出されていないと、バーチャル COM ポート通信が確立できず、ファームウェアのアップデートができません。
####################################################
# ERROR - No Odyssey detected
# Verify kit is connected and virtual COM port established
####################################################
作業2で行った シリコン・ラボの USB Virtual シリアル・ポート・ドライバ がインストールされているかを確認してください。
7. ファームウェア・アップデートファイルのダウンロード
選択項目が表示されます。
(a)Update BLE device firmware (HEX file required) を選択するため、キーボードの [a] をタイプします。その後、表示されるウィンドウからファームウェア・アップデートファイル(*.hex)を選択します。

ダウンロードが実行され、数秒後に “Download complete” のメッセージが表示されます。


BLE & Sensor ボード上の BLE リセット・ボタン(S1)を押して、キーボードの何かのキーを押して、コマンド・プロンプト・ウィンドウを閉じてください。
MAC アドレスを更新
8. コンフィギュレーション設定ファイルを選択
BLE_Firmware_Update.bat をダブルクリックで実行し、(b)Assign new BT MAC address to existing Odyssey kit (CGS file required) を選択するため、キーボードの [b] をタイプします。その後、表示されるウィンドウからコンフィギュレーション設定ファイル(*.cgs)を選択します。

9. 新しい MAC アドレスを入力
新しい12桁の MAC アドレス(16進数)を入力するように要求されます。英数字の間にスペースやコロンなどは使用せずに、12桁の英数字を入力してください。(例: ABCDEF123456)

ダウンロードが実行され、数秒後に “Download complete” のメッセージが表示されます。
キーボードの何かのキーを押して、コマンド・プロンプト・ウィンドウを閉じてください。

アップデート作業完了
10. ボードの取り外し
USB ケーブルを外してから、バッテリーボードを外してください。バッテリーボードの4ピン・ヘッダー(J4)のジャンパピンを元に戻して(外側のピン3と4を接続)おきましょう。
これで、BLE のファームウェア・アップデートは完了です。
ね、私でもできちゃいました♪

BLE & Sensor ボードをファームウェア・アップデート後はじめて使用する際は、BLE & Sensor ボード上の BLE リセット・ボタン(S1)を押してからご利用ください。
また、MAX® 10 ボードと接続後に USB ケーブルでパソコンと接続し、Tera Term を起動して EFM 32 に接続後に MAX® 10 ボード上の「S3」ボタンを押すと、ファームウェアのバージョンが確認できます。

なお、Odyssey は EFM32 と BLE 両方のファーム・バージョンを統一して使用することを推奨しています。
Mpression Odyssey の EFM32 のファームをアップデートする方法はこちらをご覧ください。
おすすめ記事/資料はこちら
Odyssey MAX 10 FPGA Eval Kit とは
Odyssey EFM32 の Firmware をアップデートしてみよう
みんなのラズパイコンテスト2016にてMpression Odyssey使用作品が準グランプリを受賞!
[概要編] MAX 10 評価キット Odyssey の FPGA に microUSB ポート経由でコンフィギュレーション・データを転送してLチカ!
[操作編] MAX 10 評価キット Odyssey の FPGA に microUSB ポート経由でコンフィギュレーション・データを転送してLチカ!