参照官方文档,在 WSL on windows 和 Ubuntu 系统均成立。
一些板子默认的烧录工具为 nrfjprog,访问nRF Command Line Tools安装
一些板子默认的烧录工具为 pyocd,如无意外,会在安装依赖时自动安装上。
手动则使用 pip3 install pyocd 来安装。安装时,可使用 pip3 install -i <src> 指定国内源提升速度。
pip国内源
阿里源: https://mirrors.aliyun.com/pypi/simple/
清华源: https://pypi.tuna.tsinghua.edu.cn/simple/
中科大源: https://pypi.mirrors.ustc.edu.cn/simple/
Ubuntu 下安装 nrfjprog
Ubuntu 下使用 ln -s <src> <des> 命令在 /sbin 创建 nrfjprog 的软链接 (注意 src 应当使用绝对路径),支持安装 deb 包的系统可以直接使用 sudo dpkg -i <deb> 安装
WSL 环境下可能缺少依赖,需要手动安装 sudo apt install libtinfo5 libncurses5
使用 west init 的包可以拷贝至其他环境,避免重复下载耗费大量时间
west zephyr-export 在 WSL 环境可能无法使用,可以考虑按照官方给出的方式手动编译或者跳过此步。ps. Ubuntu下正常requirements.txt 里缺少 pyelftools 工具,需要手动安装 pip3 install pyelftools,否则最后无法编译。WSL 无法识别到宿主机的 USB,所以无法在 WSL 环境中烧录建议在 Ubuntu 环境下开发,免去许多奇怪的问题。
指定开发板为官方支持开发板 nrf52832_mdk,使用 west 编译官方例程 blinky 如下:west build -p auto -b nrf52832_mdk samples/basic/blinky
指定开发板为官方支持开发板 nrf52840dongle_nrf52840,使用 west 编译官方例程 blinky,如下:west build -p auto -b nrf52840dongle_nrf52840 samples/basic/blinky
默认烧录工具为 pyocd,Ubuntu上可以正常使用 pyocd + cmsis-dap 的组合直接运行 west flash 进行烧录。
默认烧录工具为 nrfjprog,Ubuntu上可以正常使用 nrfjprog + jlink 的组合直接运行 west flash 进行烧录。
已知问题:pyocd 识别不到 jlink,可以使用 pyocd + cmsis-dap 或者 nrfjprog + jlink 的组合进行烧录
使用 west debug 启动 GDB
使用 west debugserver 启动 GDB server