センサタグはボタン型電池を使っているのでいくら BLE で省電力と言っても
連続で通信を続ければいつかは電池が切れてしまいます。
そこで既存の F/W を修正して、決まった時間のみ通信するように変更しようと思ったのですが
開発環境の準備をするだけで詰んでしまったのがこの記事になります。
#開発環境 準備以前として残しておいて、そのうち気が向いたら追記していきます。
センサタグに動かない F/W を焼いてしまった場合に、元に戻す方法が知りたければ続きをどうぞ。
DevPack の購入
センサタグ(CC2650STK)のF/W開発のためには、専用の機器(DevPack)が追加で必要となります。
#当たり前ですが、DevPack 単品では開発不可能なので注意。
TI社から直接購入してもよいのですが、海外発送になると届くのに時間が
かかりそうなので、日本語が使えるマクニカオンラインストアを利用しました。
#ちなみに横浜からの発送で注文して数日で届きました。商品の外箱も潰れたりせずいい感じです。
DevPack の外観
電子機器に静電気は禁物です。
表面、テストランドやマイクロSDのコネクタなど。
裏面、センサタグへのコネクタなど。
基盤が薄いので変に力が加わると割れそう。
#とりあえずイケてる写真風に角度付けて撮ってみたが、傾ける方向が逆な気がする…。
開発環境の準備
1. TI社が提供する統合開発環境 Code Composer Studio(以下 CCS )をダウンロードする
Code Composer Studio IDE - CCSTUDIO - TI ツール・フォルダ
ユーザ登録や EAR(米国再輸出規制)の遵守 についての同意が必要となる。
EAR の遵守といっても個人で利用する範囲ならば破ることはないと思われる。
2. インストールする
インストール時は CC26xx Device Support と TI ARM Compilerを選択しておけばOKなはず
3. アップデートする
CCS を起動したときにアップデートするように言われたらアップデート
サンプルプロジェクトのビルド
必要なリソースをインストール
下記を参考にTI ARM Compiler と TI-RTOS for Simplink をインストール
How To Setup A Development Environment For The CC2650STK SensorTag | Four-Three-Oh!
※2016/9/3 時点で TI-RTOS は CCS の Resource Explorer からバージョン(2.13.00.06)を選んでおくと後でコンパイルエラーに嵌ることはないはず。#もし違うバージョンをインストールした場合は Project → Property → Resource → Linked Resources → Path Variables から関連するパスをインストールしたバージョンに合わせて変更すればよい。
しかしここで問題が…下記のWarningsが出てしまい解決方法がわからず詰みました。
#10247-D creating output section ".ccfg" without a SECTIONS specification
というか、コンパイルした F/W 書き込んでみたけれど動かなくて詰んだ。
#まじめに資料を読むしかないか…。優先順位的にだいぶ後ろになるけど。
Tips
初期 F/W を焼く方法(Program CC2650STK Factory Image)
#適当に変更した F/W を焼いたら動かなくなったので必死でこの方法を探した…(´;ω;`)
1. SmartRF Flash Programmer - FLASH-PROGRAMMER - TI Software Folder をインストールする
2. Bluetooth low energy software stack - BLE-STACK - TI Software Folder をインストールする
3. DevPack付きのセンサタグをPCに繋いで Flash Programmer 2 を起動する
4. Flash Image(s) と Actions を画像のとおり設定する
5. Connected devices から書き込むデバイスを選択して Actions の「再生風ボタン」を押下
成功したら下記のようなログが出る
>Initiate access to target: XDS-L3003174.
>Reset target ...
>Reset of target successfull.
>Initiate access to target: XDS-L3003174.
>Reading file: C:/ti/simplelink/ble_sdk_2_02_00_31/examples/hex/cc2650stk_sensortag_rel.hex.
>Start flash erase ...
>Erase finished successfully.
>Start flash programming ...
>Programming finished successfully.
>Start flash verify ...
>Skip verification of unassigned page: 15.
>Page: 0 verified OK.
…中略
>Page: 31 verified OK.
>Verification finished successfully.
>Reset target ...
>Reset of target successfull.
DevPack を繋げた状態で USB電源供給をやめたら動かなくなった
DevPack外したら元に戻ります。基盤で手を切らないように注意。