简介


最近发现Windows的WSL挺好用的,打算把开发环境迁到上面去,但是在烧录和调试的时候遇到了问题,WSL对USB的支持不是很友好,导致JLink无法直接使用。官方推荐了一个折中的方案,在Windows上开启JLink Remote,在Linux里面使用客户端去连。

具体操作看这里

nRFJprog适配


配置好JLink Remote之后,跑nRF5 SDK gcc example的时候,没办法使用make flash命令烧录,为了解决这个问题,我使用了下面的方案。

注意:下面的命令自行根据需要加sudo

  1. 将原文件改名为nrfjprog-origin

    mv /opt/nrf-command-line-tools/bin/nrfjprog /opt/nrf-command-line-tools/bin/nrfjprog-origin

  2. 创建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 $@
    
  3. 链接脚本到nrfjprog

    ln -s /opt/nrf-command-line-tools/bin/nrfjprog-remote.sh /opt/nrf-command-line-tools/bin/nrfjprog
    
  4. 配置快捷指令切换远程和本地,加到.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"