最近发现Windows的WSL挺好用的,打算把开发环境迁到上面去,但是在烧录和调试的时候遇到了问题,WSL对USB的支持不是很友好,导致JLink无法直接使用。官方推荐了一个折中的方案,在Windows上开启JLink Remote,在Linux里面使用客户端去连。
具体操作看这里。
配置好JLink Remote之后,跑nRF5 SDK gcc example的时候,没办法使用make flash命令烧录,为了解决这个问题,我使用了下面的方案。
注意:下面的命令自行根据需要加sudo
将原文件改名为nrfjprog-origin
,
mv /opt/nrf-command-line-tools/bin/nrfjprog /opt/nrf-command-line-tools/bin/nrfjprog-origin
创建nrfjprog-remote.sh
,并设置权限chmod 755 /opt/nrf-command-line-tools/bin/nrfjprog-remote.sh
#!/bin/bash
/opt/nrf-command-line-tools/bin/nrfjprog-origin --ip ip --port 19020 $@
链接脚本到nrfjprog
ln -s /opt/nrf-command-line-tools/bin/nrfjprog-remote.sh /opt/nrf-command-line-tools/bin/nrfjprog
配置快捷指令切换远程和本地,加到.bashrc(可选)
alias nrfjprog-set-remote="sudo ln -sf /opt/nrf-command-line-tools/bin/nrfjprog-remote.sh /opt/nrf-command-line-tools/bin/nrfjprog"
alias nrfjprog-set-local="sudo ln -sf /opt/nrf-command-line-tools/bin/nrfjprog-origin /opt/nrf-command-line-tools/bin/nrfjprog"
运行效果: