2014/07/11

[ble][nrf51]S110をひもとこう (4) - nAN36 - (3)

nRF51822のアプリケーションノートnAN36を読んでいる。
この中では、LED Buttonというアプリを例に説明しようとしている。
lbs、という名前がときどき出てくるのでプロファイルの1つか何かかと思ったら、Led Button Sampleなのかな?
ソースは以下にある。
https://github.com/NordicSemiconductor/nrf51-ble-app-lbs


4 LED Button application example

4.1 Code overview

4.1.1 Code separation

LED Buttonアプリは、他のSDKサンプルと同じ構成になっている。

  • main.c
  • ble_lbs.c, h

main.cはアプリ的なものを実装し、それ以外はservice的なものを実装している。
I/Oの振る舞いはアプリ側。

nRF51822で動くアプリは、次の部品に分かれる。

  •  Hardware registers
    • nrf51.hに定義してあるレジスタにnrf51_bitfields.hで定義してある値を書き込む。
      今回のサンプルには、この部分は無い。
  • SDK modules
    • レジスタ設定をラップしたマクロを使う。nrf_gpio.hなんかがそう。
  • Softdevice functions
    • SoftDeviceの設定をする。SoftDevice関係のAPIはsd_で始まる。

BVMCN5102の外部16MHz起動なんかは、よくわからんのでレジスタを直接設定した。
32kHzの方はSoftDeviceの初期設定マクロ(SDK modulesってやつか)でできたので、16MHzもなんか用意されているような気がしなくも無い。


今日はここまで。
ちなみに、全38ページのうち、今は16ページくらい。
動作確認が6ページくらいあるので、半分くらいだな。

0 件のコメント:

コメントを投稿

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

注: コメントを投稿できるのは、このブログのメンバーだけです。