nRF52を使ってみる

NordicさんからnRF52シリーズの発表があった。Cortex M4とBluetooth、NFCも使えるというヤバめなスペックなのが、またヤバイ。

nRF51832の機能一覧でこれは!?って思ったのがこのへん
– 32bit ARM Cortex-M4F 64MHz, 512kB flash/64kB RAM
– Bluetooth/NFC Tag 両方搭載
– AES HW encryption, Thread safe and run-time protected
アプリケーション例で色々と書いてあるけど、何となく…何でも動くんじゃないかなーって気が…何気にこれは良いねって思うのがAESのHW処理。暗号化をHWでやってくれるというのが、これわりと熱いと思われ。

実際のサイズはこんな感じ。

pic1

pic2

思わずお米を横に置いてみちゃったよw このサイズでスペックはモリモリでスゴス。

んで既にモノはnRF52 Preview DKがゲットできる。Arduinoのシールドが上にポチっと置ける。

現物は…
20150619_030920830_iOS

nRF52 Preview DKの内容物一覧
20150619_023422904_iOS

DKの裏面はこんな感じ
20150619_024028580_iOS

何となく楽しくなってきて、シールドをつけてみた。MP3プレーヤーシールドを載せてみたら…

20150621_125421577_iOS

NSX-1用のeVY1シールドも載せてみた
20150621_125612326_iOS
バッチリシールドも載りますな。

んで…モノがあるからには、実際にプログラムをブチ込んで動かしたくなるもので(w
SDK周辺が丸っとここで公開されている。そして大体の手順もInfo Centerで公開されているとおり。開発環境はKeilが便利だと思われ。全体的にビルド&インストールしておいた方が良いかなと思ったのが。

Keil 5
nRFgo Studio-Win64
nRF5x-Tools
nRF5x-MDK-Keil4

とりあえず、この辺をダウンロードしてきてインストールしておく。んで、追加でこの子もダウンロード。

nRF5x-MDK-Pack

Keilを起動したら、このPack Installerをポチル。
pic3

そして、[File]->[Import..]から
pic4

さっきダウンロードしてきたnRF5x-MDK-Packを選択したらOK
pic5

次はnRF52 SDK&サンプルのソースコード類をダウンロードしてくる。
nRF52 SDKはここからダウンロード。versionが0.9.0というのがホヤホヤ感がある。ダウンロードしてきたらzipを展開してOK。examples配下に大量のサンプルがあるから、それを参考にすれば大抵は何でもイケる気がする。あとの手順はInfo CenterのnRF52 Series、Test your setup with Blinky -> Running a first exampleにある通り。

examples\peripheral\blinky\pca10036\blank\arm5_no_packs\blinky_blank_pca10036.uvprojx
をクリックしてKeilを起動。

あ、nRF52 Preview DKをPCにUSBで接続しておくのを忘れずに…んで、Rebuildを実行
pic7

そして、Donwloadで書き込まれる。
pic6

すると、nRF52 Preview のLED1, LED2, LED3, LED4がクルクルまわって光るのが分かると思われ。Keil自体のプログラムはCだけど、たぶんあれかな…サンプルも大量にあるしノリで全体的に書けると思う。やっぱりあれね、センサーつなげてBLEでスマホから使ってヒャッハー!!と、やっぱりAESを動かしてみようかなと。Info Centerの資料を見ると、AESは128 bit/ECB block対応とのことで、これがハードウェア処理でサクッと出来るのはかなり熱いと思われ。プログラムでAESを入れてCPU処理する部分がお任せできるというのは、素敵すぎる。