
こんにちは。
マクニカでインテル® 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 をサポートをしているので SiliconLabs(シリコン・ラボ)と Broadcom(ブロードコム)の製品に触れるのは初めてです。至らない点は目をつむってください (笑)
今回は、"インテル FPGA 担当のハナコがやってみた! EFM32 のファームウェアのアップデート" をご紹介します。
はじめに
EFM32 のファームウェアをアップデートする方法には以下の2つがあります。
・ Simplicity Studio でアップデート
・ シリアル・コンソール(Tera Term)でアップデート
私は EFM32 の開発をしたことがないので、Simplicity Studio をインストールしてありませんし、使ったこともありません。
なので、Tera Term でファームウェアをアップデートします。

Tera Term とは、Windows OS 向けのターミナルソフトで、オープンソースで公開されているツールです。使用するパソコンにインストールしていない場合には、事前に Tera Term をインストールしてください。また Mpression の WEB サイトでは、Odyssey 開発向けの Tera Term 環境設定ファイル(TERATERM.INI)が公開されていますので、必要に応じてインストールしてください。
アップデート作業スタート!
1. 最新のファームウェアを入手
Odyssey の EFM32 用ファームウェア(EFM32 Firmware Factory Image)を Mpression Odyssey の WEB サイト からダウンロードします。
2. ドライバをインストール
Odyssey の EFM32 に初めて USB シリアル接続をする人は、あらかじめ シリコン・ラボのUSB Virtual シリアル・ポート・ドライバ(ダウンロードページのUtilities セクションにあります)をインストールしておいてください。これで Tera Term を使って EFM32 と通信ができます。
3. Odyssey ボードを分離し、BLE & Sensorボードとバッテリーボードを装着
Odyssey を BLE & Sensor ボードと MAX® 10ボードに分離します。
BLE & Sensor ボードに電源が供給されていないことを確認して、BLE & Sensor ボードに付属のバッテリーボードを装着します。(バッテリーボードのリテーナに CR2032 コイン型電池は不要です。)
バッテリーボード上の 10ピン・ヘッダー(J2)において、マイクロクリップ付きのジャンパーで VIN(ピン1)とCLK(ピン4)間を接続します。隣接するピンがショートしないように注意してください。

4. パソコンに接続
BLE & Sensor ボード(with バッテリーボード)とパソコンを USB-microUSB ケーブルで接続します。
5. Tera Term で EFM32 に接続
パソコンのデバイスマネージャーで EF32 が何番の COM ポートに割り当てられたかを確認し、Tera Term を起動します。“ファイル”メニュー > “新しい接続” から、”シリアル” を選択し、EFM32 に接続します。
6. COM ポートを設定
“設定”メニュー > “シリアルポート” から、5.で確認した COM ポートに対する設定を以下のようにします。
・ ポート(P) : EFM32 の接続されている COM ポート番号
・ ボー・レート(B) : 115200
・ データ(D) : 8 bit
・ パリティ(A) : none
・ ストップ(S) : 1 bit
・ フロー制御(F) : none
・ 送信遅延 : 0 ミリ秒/字(C)、0 ミリ秒/行(L)
7. ブートローダーを起動
キーボードの [i] をタイプします。ブートローダーの情報が表示されます。

8. プログラミング・モードにする
キーボードの [u] をタイプし、プログラミングの手順を開始します。コンソールには [C] (大文字)の文字が表示されます。これは ”準備完了” を意味します。ファイル転送が開始されるまでの間、[C] 表示は5秒ごとに約繰り返されます。

9. プログラミングする
“ファイル” メニュー > “転送” > “XMODEM“ > “送信” を選択します。

ファイル選択画面が表示されるので、事前にダウンロードしておいた EFM32 のアップデート・イメージファイルを選び、CRC オプションを選択して “開く(O)” ボタンをクリックします。

ファイルが転送され、EFM32がプログラムされます。約2〜3秒かかります。
アップデート作業完了
10. プログラミング完了
プログラミングが完了します。[c](小文字)をタイプすると、CRC が確認できます。EFM32 の Firmware 2.0 の CRC は ”00005939” です。

11. Tera Term の切断、ボードの取り外し
“ファイル” メニュー > “接続断” を選択して EFM32 との接続を断ちます。USB ケーブルを外してから、ジャンパー、バッテリーボードを外してください。
これで、EFM32 のファームウェア・アップデートは完了です。
ね、私でもできちゃいました ♪

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

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