ぽてとコンサルティング

ロボット(ROS)や組込みの技術 / 経営者の嫁観察日記

Braveridge製 nRF51822 搭載 BVMCN5102を触る

界隈では、既に2,3年前から有名であるが、量産にも使える技適付き格安arm cortexM0搭載のアンテナ付きBLEモジュール、BVMCN5102を積みボードしてあったので、触ってみる機会を得た。

 

具体的には、BLEを使った、新しい「デジタルまいごひも」を作ろうと思っているのだが、かなり苦戦。というか今までArmをろくに触ったことがないのに、なかなかのチャンレジだった。まぁマイコン開発には少し慣れてきているので、本質は応用が効く。

 

開発環境はArmのKeil uVision5とnRFgo studioである。

デバッガはJ-link seggarである。

っていうかamazonの下記のボードね。

 

BLE 開発キット with J-Link segger:BVMCN5103-CFAC-BK KIT PLUS

BLE 開発キット with J-Link segger:BVMCN5103-CFAC-BK KIT PLUS

 

 

今日の成果としては、開発環境/デバッガの整備と、各種IOの制御と、SPPプロファイルでのBLE通信ぐらい。うーん進捗遅い。まぁ途中でビール呑んだりもあるんだが。

 

後半はcentral設定にして、peripheralからの通信を受けて制御をしたかったのだが、そこまで手が回らず。っていうか、centralにするとちゃんと動かないのよ。

 

今気がついたけど、まいごひも は特に通信がいらないので、peripheralでRSSIでも取得すればいいのかな。まぁ明後日試してみよう。

 

今日苦戦したのが、下記の2点だ。

 

  1. uVision5でのROM書き込みエリアの設定。
  2. 通信部分のF/WのSoftdeviceのver。

 

1.に関しては、日本語のページを見ていると、なぜ設定するのかがまったく書いてない。ちゃんと、reference manualから見ないとダメね。

f:id:IMOit:20160904233044p:plain

 

ROM上には、SoftdeviceのF/Wをまず置いてから、そのアドレスの後に、アプリケーション層のF/Wを置く構造。 他のBLEとかWLAN関連もそうなのだろうか?

つまりアプリケーション層を書き込み位置をSoftdeviceによって変え無くてはならない。 そしてSoftdeviceのバージョンや、Central設定、peripheral設定によって、Softdeviceのメモリサイズが変わり、アプリ層の書き込み位置が変わるのだ。

結構、これが曲者で、一体どこに書いてあるんだ、、、、と思ってみていたら、

f:id:IMOit:20160904233334p:plain

 

書き込みするnRFgoにはちゃんとアドレスが書いてあって、あぁこれでいいんだ、と気がつくまで、少し時間がかかった。

あとは、容量から計算すればOK 例えばsize 160KBだったら、 1024 × 160 = 163840 -> 0x28000とか。

 

2. の通信部分のF/WのSoftdeviceのverは、S110とS120の区別が最初つかなくて、なんだこりゃと見ていたら、CentralとPeripheralで使い分けるのね。

なんだか名前がわかりにくいなぁと思って、また引っかかった。あとはversionもわからんのだが。どのサンプルにどのversion使えばいいんだよ!とね。

組込み系の開発で極めて、よく引っかかるがこういった略称である。

一旦知ってしまった人や開発者にとってみれば、S110 ね。あーperipheral側の話ね。とかS120ねCentral側ね。とかSDSと書かれいても、それがSoftdeviceの略だとわかるだろうし、ラクなんだろうけど、初学者にとってはこれが一番の難所。

 

という慣れるしかないんだけどね。

 

明日以降は、RSSIの取得で試す件をやってみるか。Centralで動かない解析ももう少しするかな。。。

Related Posts Plugin for WordPress, Blogger...