1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

nRF Connect SDK FundamentalsでZephyrを試してみる: micro:bit編

Last updated at Posted at 2024-12-20

この文章は、ZephyrRTOS Advent Calendar 2024 1 の20日目のエントリとして書かれました。

はじめに

nRF Connect SDK Fundamentals 2 (以下、コース)は、nRFファミリーで、Zephyrを使って開発していくハンズオン教材です。
開発環境には、VSCodeが使われています。
手順が親切丁寧に説明されており、必要な概念もしっかり解説されているので、nRFでZephyrの入門をするのには、適した教材だと思います。

以下、コースの説明に従って、micro:bitでLチカ(ディスプレイチカ?)ができるところまでを試してみます。

一部、コース通りではなく、micro:bit利用のための独自事項がありますので、そこを詳しく説明していきます。

環境構築

以下のように、動作に必要な環境を構築していきます。

VSCode開発環境

ここでの開発は、VSCode上で行います。
そのための準備を行います。

コースの中で、動画付きで詳しく環境構築の方法について解説されているので、ここでは詳細は省略します。

概略は、以下の通りです。

  • nRF Command Line Toolsのインストール
  • VSCode関連
    • VSCodeのインストール
    • nRF Connect拡張機能のインストール
      • ツールチェーンのインストール
      • nRF Connect SDKのインストール

micro:bitをJ-Link用にする

デフォルトでは、VSCodeからはJ-Linkを経由した書き込みが仮定されています。
このため、J-Link用のデバイス(J-Link Edu 3 など)が必要になるのですが、micro:bitには以下のようなJ-Link化するファームウエアが用意されています。

導入は、このページの説明の通りに行えば大丈夫です。

ただし、ここで提供されているファームウエアは、現在普通に流通しているmicro:bit v.2.2では使えないようです。v.1.5かv.2.0を用意してください。

概略は以下の通りです。

  • micro:bitをメンテナンスモードで起動します。
    • リセットボタンを押しながら、電源を投入します。
  • ファームウエアのHexファイル(JLink_OB_BBC_microbit_22-11-16.hex(v.1.5用), JLink_OB_BBC_microbitV2_22-11-15.hex(v.2.0用)を現れたMAINTANANCEフォルダーにコピーします。

デモコードの実行

サンプルにmicro:bit用のデモコードが3つ用意されています。

  • display: 5x5 LED画面に数字、文字、パターンなどを表示します。
  • sound: 音を出し、その周波数をボタンで変更します。
  • pong: pongゲームで、マルチプレーヤーにも対応しています。

はじめに、"Create a new application"を選び、"Copy a sample"を選択します。

Copy a sample

次に検索ペインに"micro"などと入力すると、micro:bitで利用可能な選択肢が出てきます。
ここでは、"BB micro:bit Display"を選択しました。

デモの選択

これで、デモのソースコードにアクセスできるようになりました。

次に、ビルドを行います。

  • "APPLICATIONS"で"+ Add build configuration"を選択します。
    右のような表示が現れるので、"Board target"で"bbc_microbit/nrf51822"(v.1.5用)か"bbc_microbit_v2/nrf52833"(v.2.0用)の利用する方を選びます。あとはデフォルトで大丈夫です。
  • 一番下の"Build Configuration"ボタンで設定が保存されます。

ボード設定

"ACTIONS"で、"Build"することでソースがBuildされます。
Buildが成功した後で、"Flash"すると実際にボードにプログラムが書き込まれ、プログラムが実行されます。

フラッシュ

デモは、下の画像のようにmicro:bitの5x5LEDに数字やパターン、文字などを表示するものになっています。

デモの動作の様子

おわりに

nRF Connect SDK Fundamentalsに従って、micro:bitでハンズオンをしてみました。
今回の内容は、Lesson 1 – nRF Connect SDK Introduction 5までの内容になっています。
これを終わらせても、まだコースの9%しか終わってません。これからどんな内容なんでしょうか?楽しみですね!!

Enjoy your Zephyr life with micro:bit!!

About 610t

610t
むとうたけし(武藤武士(wǔ téng wǔ shì)) a.k.a 610t

私、専業主夫だから、
端切れでパッチワークする様に、
http://github.com/610t でpatch workするの。

BSDとScratch/SqueakとM5Stackの狭間で生きているニッチな生き物。自転車とものづくりと人にものを教えていやがられるのが好き。

  1. https://qiita.com/advent-calendar/2024/zephyr

  2. https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/

  3. https://embeddedcomputing.weebly.com/segger-j-link-edu-programmer-debugger.html

  4. https://www.segger.com/products/debug-probes/j-link/models/other-j-links/bbc-microbit-j-link-upgrade/

  5. https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/lessons/lesson-1-nrf-connect-sdk-introduction/

1
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?