4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VSCodeでnRF52840環境のインクルードパスを通す

Posted at

VSCodeでnRF52840環境を快適に使うためにインクルードパスを通します。

nRF52環境 : nRF5_SDK_15.2.0_9412b96

結論:gistを参考にc_cpp_properties.jsonへコピペすればOK

gist参考にincludePath, browse, definesあたりをコピペしてみてください。

以下、**c_cpp_properties.jsonって何?**って人向け詳細

VSCodeでディレクトリを開いてプロジェクト開始

例えば、以下のディレクトリをVSCodeで開きます。

nRF5_SDK_15.2.0_9412b96/examples/ble_peripheral/ble_app_hids_keyboard
スクリーンショット 2018-10-11 1.08.10.png

デフォルトでは「定義へ移動」ができない

すると、インクルードパスが指定されていないため include errors detected となります。

スクリーンショット 2018-10-11 0.52.05.png

ボクがよく使う「定義へ移動」などの操作ができません。
解決するためにインクルードパスの設定をしていきます。

c_cpp_properties.json の includePath 要素を編集

インクルードパスを設定するには .vscode/c_cpp_properties.json を編集します。
c_cpp_properties.json は画面右下ポップアップのConfigurationHelpなどをクリックすると自動生成されます。
ファイルを開くとincludePathの要素があるのでここにパスを羅列していきます。

    "configurations": [{
        "name": "Mac",
        "includePath": [
            "/path/to/arm-none-eabi/include",
            ...
        ],
        ...

ただ、nRF52環境はディレクトリ毎にインクルードパスを指定しなければならないのでかなりの量のインクルードパスがあります。
ということで、gistにまとめました。

gist内のenv要素は自身の環境に合わせてください。

    "env": {
        "gccArmPath": "/usr/local/gcc-arm-none-eabi-6-2017-q2-update",
        "nrf5SdkPath": "~/Documents/Nordic/nRF5_SDK_15.2.0_9412b96"
    },

その他

  • インクルードパスはexample内にあるMakefileを参考にしています

  • 参照エラーを少なくするためにdefinesの値がかなり多くなってます。こちら参考。
    VS Code c_cpp_properties.json example for arm-none-eabi toochain
    https://gist.github.com/kbumsik/52ce3f41a62f2485c3da1a585674e550

  • 上記gistの c_cpp_properties.json でも uint8_t など一部参照エラーが取り除けていません

参考URL

USING VISUAL STUDIO CODE FOR NORDIC NRF5 BLE DEBUGGING
https://electronut.in/vscode-nrf52-dev/

VS Code c_cpp_properties.json example for arm-none-eabi toochain
https://gist.github.com/kbumsik/52ce3f41a62f2485c3da1a585674e550

4
7
0

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
4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?