今日はnRF5 SDK for Eddystoneを動かせるかどうかだけ確かめてみよう。
うちにあるのは、nRF51822のRAM 16KB版だ。
EddystoneはBeaconだけのイメージだったけど、GATTのソースが追加されているから、接続して何かするようになったのだろう。
まずは、ここに書いてある通りにやってみよう。
https://github.com/NordicSemiconductor/nrf5-sdk-for-eddystone
- 上記をcloneして、nRF5 SDK v11.0.0のexamples/ble_peripheralの下に置く。
- この中のsource/にあるcrypto_setup_all.shを実行する。
- project/pca10040_s132/arm5_no_packsに入っているKeilプロジェクトを開く。
DeviceFamilyPack 8.3.1を求められるけど、無視して8.6.0に変更する。 - ビルド
- えーっと、エラーが出ました。。
32KBに収まらない!
オプションで最適化がかからないようになっていたので、もう一度。。。
だめだ。。。
RTTを削って。。。だめか。。。
BSP_SIMPLEなら。。。あと、あとちょっとか。。。
eddystone_registration_uiのボタンも削って。。。あと792バイト。。。
eddystone_tlm_managerの中身を削って。。。あと616バイト。。。
eddystone_flashの中身も削って。。。入った!
って、eddystone_flashは削ってもよいのか?
pstorageがあったからFLASH保存するのだろうけど。。。
手順としては、あとはnRF52 DKにS132を焼いて、今回のを焼けばいいらしい。
とりあえず、今日はここまで。
やっていてわかったのは、nRF52を使うようになったら、たぶんKeilだったら正式版じゃないとつらいんだろうな、ということだ。
まあ、nRF51だって256KBあるのだけど、nRF52の方が性能が高い分、あれこれやりたくなって、ROMがたくさんいるようになりそうだしね。
STM32の一部みたいに「このマイコンにはKeil無制限で使えるシリアルコード公開します!」みたいなのになるとうれしいのだが、まあ、ね。
そうなると、GCCでやるのがいいのかね。
そろそろLLVMも使えるのだろうか。
本家のコンパイラ(armccかな?)の方は、LLVMがどうのと書いてありますな。
次回はいつになるかわからないけど、nRF51822に移植しようとして、あきらめてしまいそうな気配がするな。。。
GCC-ARMでいいですよー。
返信削除Makefile書くのがめんどくさいですけども。
コメントありがとうございます。
削除そうですね、Makefile書くのが面倒ですね。