blog画像が表示されないページは、元画像を間違えて削除してしまっているためです。データが残っていないので、想像力で補ってください。LITEを接続したので、ビルドして動作させるところまでやりますよ、ええ。ちなみに、うちにあるnRF51822のボードはBVMCNDT52というもので、今だと型番が少し新しくなってる。LITEだけ別に買うと高いそうなので、セットで買った次第です。基板があるので、ちゃんとKeilの設定をしながらやっていく。ble_app_hrsのpca10028を別名でコピーして、適当に名前を変える。うちのボードは「BVMCNDT52」なので、その名前にしよう。pca10028を上書きしてもいいけど、気分として変えておきたいだけだ。残しておくと、比較できるし。ついでに、中に入っているフォルダも、s130以外は削除する。他のは、使いたいときに見ればよいのだ。その下も、arm5_no_packs以外は削除する。他のは、使い(以下略)その下のファイル名はpca10028が残っていて気に入らない。Keilにプロジェクト名を変更して保存するようなコマンドが無さそうだから、3ファイルとも同じ名前にすると、ちゃんと開いてくれたから、たぶんそれでよいのだろう。Deviceを「nRF51822_xxAA」に、Targetをこんな感じで変更。xxAAなのは、BVMCNDT52がそうだからだ。あとは、昨日の通り、Output、C/C++、Asmを変更。Pathにpca10028があるけど、そっちはもう放置した。気になるなら、configフォルダの方もコピーするなり名前変更するなりしておくとよいだろう。J-Linkがつながった状態でSettingsボタンを押すと、こんな感じで見える。コンパイルすると・・・はい、ビルドエラーが出ます。これは、BOARD_PCA10028をBOARD_BVMCNDT52に書き換えただけだから。SDKの中の、examples/bspも変更する必要があるのだ。Support」を開こう。Cファイルが2つあるはず。bsp.cのツリーをさらに開いて、Includeファイルを見る。最初は、board.hから。ここに、さっき変更した定義値が出てくるので、追加してやるとよい。下にでも追加するとよいだろう。ヘッダファイルもいるので、examples/bspの中にあるpca10028.hをコピーしてリネームし、bvmcndt52.hなどとしておこう。あとは、bvmcndt52.hを編集すれば、だいたい終わりだ。BVMCNDT52はLEDもボタンもないので、設定するものがない。いうときは、ヘッダファイルの先頭に「BSP_SIMPLE」と定義しておくとよいだろう。それと、ファイルの一番下にあるNRF_CLOCK_LFCLKSRCも変更がいる。これもボードごとに違うのだが、内蔵の発振子を使うとか外部の発振子を使うとか、そんなのだ。デフォルトは外部の発振子を使うようになっているのだけど、BVMCNDT52は外部発振子を持っていない。片方のCファイルbsp_btn_ble.cは、プロジェクトから取り除く。ボタンがないから、使わないのだ。main.cに残骸があるので、「bsp_btn_ble」で検索して関係があるところをコメントアウトする。これでビルドすれば、たぶんエラーにならないはず。ツールバーの「d」を押すと、ダイアログが出てくる。サンプル程度では大丈夫だ。うまくいくと、main関数の先頭辺りに黄色と水色の矢印っぽいカーソルが出てくる。黄色がプログラムカウンタがある行で、水色はブレークポイントが置ける行に移動した場合に出てくるカーソルなのかな。ブレークポイントが設定できるところは、行番号の左側が濃いグレーになっているのでわかるだろう。実行開始は、左上のこんなアイコンをクリックする。Androidの設定画面でBluetooth設定を開くと、こういうのが出ていた。これが動かしているサンプルだ。素の状態だとあまり遊べないので、Nordicが出しているスマホアプリをインストールするとよいだろう。Toolboxアプリがよかろう。Toolboxアプリだと、HRMを選択してデバイスをCONNECTすると、こんな画面が出てくる。デバッガを使っているので、ブレークポイントとかで止めたいかもしれないが、あまりそういうのには使えない。止められるのだけど、再開するとアプリが吹っ飛んでしまうのだ。いうものだと思ってあきらめよう。だいたいは、UARTやRTTなどでログを出す、というのが一般的なデバッグ方法かな。「ここに来るか確認したい」とかだとブレークポイントを使えばよい。これで終わりなのだが、ちょっとだけこのアイコンの説明をしよう。左端はいいとして、右3つはしばしば使う。ネットにあるKeilプロジェクトのサンプルを使おうとして、Packのバージョンが違ったとしよう。手元にあればいいけど、古いのは使いたくなかったりすると、その構成を変更したくなってくる(変更して動くかどうかは知らんが)。他にも、CMSISのバージョンとかは固定されていたりするので、ちょっと使いたいものと違うことがあるだろう。いうときは、右から2番目のアイコンをクリックして変更することができる。これが今回使ったble_app_hrsの構成なのだが、CMSISは4.5.0、DeviceFamilyPackは8.5.0でfixedになっている。これを、たとえばDeviceFamiliPackを8.6.0にすると、構成が変わる。Environmentが「8.5.0がない」って怒り始めるのだ。変更したあと、ツリー画面からも変更する。なんかうまくいってるのか、いっていないのかよくわからない感じになってしまうので、あちこち開いたり閉じたり、Keilを終了させて開き直したりしていると、なんとなくよくなっている。今も、と変な状態だけど、まあエラーにもならないし、警告アイコンも消えたから、よしとしている。あとは、自分のボードに合わせてbspを変更したり、Keilだと制限があって困るなら正式版を買ったり、IARとかのに変更したり、GCCにしたりして遊ぶとよいだろう。08:46Keilの使い方の、日本語PDFがあるのに気付いた。読んでないけど、本家がリンクしているので、たぶん本家が作ったものだろう。コメントを追加もっと読み込む...コメントありがとうございます。申し訳ないですが勝手に削除することもあります。コメントを投稿できるのは、このブログのメンバーだけです。