LoginSignup
0
0

[メモ] nRF Connect SDKビルド環境 (WSL + Docker + DevContainer on VSCode)

Last updated at Posted at 2023-08-18

概要

  • nRF Connect SDK のビルド環境のメモ
  • WSL内からのデバッグ設定(USBJlinkつかう)のは面倒くさいので、やらない

環境

  • Windows 10 + WSL + VSCode
  • (確認予定: ubuntu 22.04 / ChromeOs Flex)

手順

  1. VSCode使えるように

  2. WSLに、Docker使えるように

  3. VSCodeにRemote Developmentエクステンションインストール
    code --install-extension ms-vscode-remote.vscode-remote-extensionpack

  4. WSLのターミナルを開いて、以下コピペ

    git clone https://github.com/mt08xx/ncs-devcontainer 
    cd ncs-devcontainer
    code .
    
  5. VSCodeが開いて、右下に↓がでたら、Reopen in Containerをクリック。(初回はここでしばし待つ)
    image.png

  6. CTRL+ALT+NでWelcome to nRF Connect を表示
    image.png

  7. アプリケーション作成
    7. 新規アプリケーション作成
    image.png
    2. おすすめのC/C++ Extention Packいれるか? => Don't show again で、そのつぎの質問は、No で。
    image.png
    3. ビルドコンフィグレーション設定
    image.png
    4. ビルドが始まる("Build after operating configuration"にチェックがついていれば)

  8. zephyr.hex こいつを焼けばよい。(ハズ)
    image.png


"手順"の準備

VSCodeの準備

  • Windows 10 に VSCodeをインストール
  • CTRL+SHIFT+x して、Extensionを開いて、”Remote Development"をインストールしておく

WSLの準備

  • WSL準備と初期設定

    #wsl --unregister Ubuntu  #以前の環境削除
    # Ubuntu インストール
    wsl --install Ubuntu
    # しばらく待ってインストールが終わると、ユーザ名とパスワード2回をタイプ
    
    # sudo 時にパスワードを聞かれないようにする
    echo -e "${USER} ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/010_${USER}-nopasswd 
    
    # systemd使用
    echo -e '[boot]\nsystemd=true' | sudo tee /etc/wsl.conf
    # resolvConfは自前で設定
    echo -e '[network]\ngenerateResolvConf = false' | sudo tee -a /etc/wsl.conf
    
    # 一旦終了
    wsl.exe -t ${WSL_DISTRO_NAME}
    
    #ネームサーバを設定。お好みのDNSを。
    echo 'nameserver 1.1.1.1' | sudo tee /etc/resolv.conf
    
    #(お好みで) dnscrypt-proxy で、DOH(DNS over HTTPS)
    sudo apt update && sudo apt install dnscrypt-proxy &&  echo 'nameserver 127.0.2.1' | sudo tee /etc/resolv.conf
    
    
    #(お好みで) apt-cacher-ng を使用しているなら、サーバを指定
    # echo 'Acquire::http::Proxy "http://apt-cacher-ng:3142";' | sudo tee /etc/apt/apt.conf.d/02proxy
    
    #パッケージ更新
    sudo apt update && sudo apt upgrade -y
    
    # Dockerのインストール (WSL中だと認識されると20秒待たされる)
    curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && sudo usermod -aG docker $USER && newgrp docker
    
    # 一旦終了するもヨシ
    #wsl.exe -t ${WSL_DISTRO_NAME}
    
    # DockerのnRF Connect SDKイメージをpull(ダウンロード)しておく
    docker pull nordicplayground/nrfconnect-sdk:v2.4-branch
    

その他

  • ひさびさに記事を書きましたが、みなさま、お元気でしょうか?コロナ以降は、ラズパイの入手が困難でしたが、最近は改善してきたみたいで。最近の流行りはなんですかね?

ひとりごと

  • お友達(のお友達のお友達)D氏のプロジェクトのお手伝いで、2~3年前のお友達(のお友達)J氏のプロジェクトでつかったのとおなじ、nRF52832を使用。SoftDeviceとかどうなってるんだ、とおもったら、ガラリと開発環境変わってて、びっくり。
0
0
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
0
0