2015/09/13

[nrf52]ペアリングできてたっぽい

さっきの記事を書いた後、もううまくいかーーん、と放置してご飯とか食べてたのだが、さっきAndroidの設定画面を見るとNordic_HRMがペアリングしたデバイス欄に出ていた。
よくわからんけど、ペアリングできていたようだ。

わからん・・・わからなさすぎる・・・。

じゃあ、もう一度ログを取り直そうと動かしているのだけど、初回に取ったログと出方が違う。
AndroidかnRF52か(あるいは両方)わからないけど、ペアリングというか、ボンディングというか、そういうのをやったと覚えているような感じを受けている。

一度Android側を切断させたのだけど、やはり動きが違う。
ということは、nRF52も覚えていると言うことか。
ペアリングすると、Nordic_HRMじゃなくて、デバイスのアドレスがそのまま表示されるようになってしまった。

08 1b 9a 7d b8 6a 25 cd 01 : LE Bluetooth Device Address

「CD:25:6A:B8:7D:9A」という表示だ。
だから、アドレスはわかってるのだろう。しかし、Local Nameとの整合ができていないのかな。

 

nRF52が保持しているのなら、とりあえず別のAndroid端末で試してみよう、とNexus7を相手にしたのだが、こちらは再起動がかかってしまうようだ。
デバイスアドレスがログに出ているのだが、Nexus7ではなくてNexus5のアドレスだった。
「保持しているのと同じアドレスかどうか比較して、違ったから再起動した」ということかしら。

ミドル層が勝手に再起動するとは考えづらいので、アプリに通知してアプリがリセットさせていると考えるのが妥当だろう。
device_manager_evt_handler()が呼ばれて、APP_ERROR_CHECK()マクロでapp_error_handler()が呼ばれている、ということだろうか。


デバッガでその辺を追おうとしたけど、なんかうまくいかない。
最適化が効き過ぎているのか、と-O0にすると、32KBの壁を越してしまい、リンクできない。
うぅ・・・こんなサンプルくらいで壁を越すとなると、Keil MDK評価版ではつらいな。
かといって、本物を買うってのもなぁ。

http://news.mynavi.jp/column/sopinion/412/
3年前の記事だが、値段が書いてあった。
nRF52832は512KBのROMがあるなら、フルで使いたいなら$4,895か。

リンク先のLPC Toolsを見てみよう。
http://www.lpctools.com/mdk-cortexmnode-lockedlicenses.aspx
Cortex-Mのみでノードロックライセンス(たぶんPC固定)だと$3,640。

うん、仕事で買ってもらうことでもない限りは、やめとこう。
GCCを検討するときだ。

 

STM32のF0とL0は、MDKを無償で使えるライセンスになっているようだ。いいなぁ。
うちのはF1とF4なので、対象外だな。
http://www2.keil.com/stmicroelectronics-stm32
もしかしたらNordicにも・・・
http://www2.keil.com/nordicsemi
ないかー。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。