WICED Senseのファーム開発環境構築と書き込み

Broadcomが、WICED Senseという無線センサ開発キットを出しています。

https://www.switch-science.com/catalog/1925

https://store.macnica.co.jp/products/broadcom_bcm9wiced_sense

Broadcom自体は無線チップメーカで、チップを使った開発キットの位置づけです。

ただ、これ単体でもいろいろ遊べそうなので、購入してみました。

WICED Sense自体のファームウエアの開発と、

WICED Senseのデータを受信して利用するアプリの開発をする必要がありますが、

今回はファームの開発環境構築です。

参考:WICED Senseのファームウェアを変更してみる

IDESDKのダウンロード・インストール

まずBroadcom communityに登録します。

Broadcom community

ここからSDKやリファレンスガイドなどをダウンロードすることができます。

次にSDKをダウンロードします。

WICED Bluetooth→Download SDK

WICED-Smart-SDK-2.2.1-IDE-Installer

と書かれたリンクからインストーラをダウンロードします。

WICED Sense IDE Download2

ダウンロードしたらインストールに移りますが、

このIDEインストーラが少し曲者で、JREがJava7でないと動作しないようです。

Java8にアップデートしてしまい、Java7がない場合、

Oracleアーカイブからダウンロードしてインストールすることになります。

Javaアーカイブ

これでインストールできるようになります。

②プロジェクトの準備

開発の手順は、Broadcom communityの以下の記事が詳しいです。

WICED SENSE Kit BLOG

ちなみにこれ以外にも以下のコンテンツがあります。

WICED Sense Table of Contents

WICED Senseの電池を抜いて、USBケーブルでPCに接続します。

IDEのインストール時に、Silicon LabのUSB-UARTドライバもインストールされたはずですので、

自動的にドライバがインストールされて使用できるようになります。

念のため、デバイスマネージャーで確認しておきます。

次に、IDEを起動します。画面はほぼeclipseです。

左側のProject Explorerの中の、

WICED-Smart-SDK→Apps→wiced_sense

が、販売されているWICED Senseのデフォルトのファームウエアです。

これを修正して使います。

wiced_senseのフォルダをコピー・貼り付けして名前を変更します。

今回は「wiced_sense_changed」とします。

フォルダ内のwiced_sense.cがメインのファイルなので、

この辺りを見て適宜修正します。

③書き込みと動作確認

IDE右側にMake Targetの中にSDKの他のプロジェクトのBuild→書き込みのターゲットが用意されています。

以下のフォーマットで名前を作ってターゲットを用意すると、Buildと書き込みができます。

 プロジェクト名-チップ名 コマンド名

例:wiced_sense_changed-BCM920737TAG_Q32 download

他のターゲットをコピー・貼り付けしてEdit→Target nameを例の様に記載して、

Targetをダブルクリックすると、ConsoleにBuild結果と書き込み結果が表示されます。

USBケーブルを接続した直後であれば、以下の様なメッセージがでて書き込み成功し、

プログラムが走り出します。

 Detecting device...

 Device found

 

 Downloading application...

 Download complete

 Application running

バイスが接続されていなかったり、アプリケーションがすでに走っていたりすると、

 Detecting device...

 No BCM20737 detected

というメッセージが出て、書き込みが失敗します。

この場合は、デバイスを接続しなおしたり、リセットしたりを試す必要があります。

④Appendix リカバリの方法

WICED Senseリカバリの方法を書きます。

まず、カバーを外して基板を出します。

以下の矢印の箇所にドライバーを突っ込んで、赤いカバーを外します。

DSC_3860_2.png

表に見えた基板の赤四角部分がブートボタンです。

DSC_3858_2.png

ココでプラスネジが2つあるのでそれも外します。

DSC_3857_2.png

赤四角の部分がリセットボタンです。

USBケーブルに接続し、

(a)リセットボタンを押しながらブートボタンを押す

(b)リセットボタン→ブートボタンの順に離す

とこれでリカバリの準備ができます。

SDKのMake Targetに「WICED_SENSE-BCM920737TAG_Q32 recover UART=COMXX」

という名前のTargetを作り、実行すると、EEPROMに初期のプログラムが書き込まれ、リカバリできます。

(COM番号はデバイスマネージャーのポートにあるUSB to UART BridgeのEnhanced COM Portの番号です。)