ncs: toolchain と SDK

2024/07/06

vscodeのnRF Connect extensionをサイドパネルで開くとこうなっている。

image

最初に設定がいるのは上2つの「Toolchains」と「SDKs」だ。 同じバージョンをインストールしておくのが普通のようだが、違いを把握しておきたい。というのも、いま ncs v2.7.0 がリリースされたばかりなのだが、Toolchain v2.7.0 は普通にインストールできるものの SDK v2.7.0 は確認を求められるのだ。 vscodeだからメッセージが出ているようだが気になるところだ。

image

nRF Connect SDKのInstallation

Toolchain Manager

nRF Connect for Desktopでインストールできるのは Toolchain ではなく「Toolchain Manager」である。

image

v1.5.0がリリースされたばかりなのだが説明に vscode だと ncs 2.7 で警告を出すようになったということが書いてある。

なお、nRF Connect SDK v2.0.0以降は単体のToolchain Managerではなくvscodeのextensionを使うことを推奨している。
単体でもexperimentalと表示されているので、v1.5.0のリリースノートに書かれているのは「vsccodeでも警告を出す」くらいに思っておけば良いだろう。

image

Toolchain

ではvscodeのextensionからToolchainだけインストールしてみよう。一度 v2.7.0 はインストールしていたのだが、アンインストールしてディレクトリ(c:/ncs/v2.7.0)ごと削除している。

変な感じがするが、Toolchain v2.7.0のインストールについては警告は出ない。

image

一度インストールしたことがあると、このようにダウンロード済みのファイルを使うようだ。

image

Toolchainはc:/ncs/v2.7.0にインストールされるのではなくc:/ncs/toolchains/以下にインストールされている。
普通、toolchainというとコンパイラとかリンカとかを指すと思う。インストールの説明でも「The toolchain version should match the nRF Connect SDK version you are going to work with」と書いてあるので、このSDKはこのToolchainで動かすことしか想定していませんよ、ということなのだろう。 Toolchainのインストールで警告が出ないのも納得だ。

SDK

これは警告が出るだけで、特段かわりはない。 最初に保存するディレクトリ(今回はc:\ncs\v2.7.0)を聞かれるだけである。

ダウンロードしてインストールするのだが、westというツールが使われている。Zephyr OSのツールなのか。 複数のgitリポジトリからcloneしているようなのでそういうツールかと思ったのだが、ページには「swiss-army knife command line tool」と力強く書いてあった。 westはvscodeのextensionがうまいこと使ってくれているようだから、あまり気にしなくてもよさそうだ。

westのログに出ているgit cloneしていそうなリポジトリはこれらだ。多い!