在win10-wsl2(ubuntu)中安装jlink

本文介绍了如何在Windows10的WSL2环境下安装JLink的Linux版本,解决依赖问题,以及如何处理WSL2与USB设备的连接。通过安装usbipd-win,可以在Windows和WSL2之间共享USB设备,使得JLink能在WSL2中识别并连接到目标芯片。当需要在Windows下再次使用JLink时,需先从WSL2中detach设备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在win10-wsl2(ubuntu)中安装jlink

1. 下载jlink的linux版本驱动

在 官方下载linux版本的deb包

SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace

拷贝到ubuntu的/home目录下(其他目录也可以),进行安装

sudo dpkg -i JLink_Linux_V788e_x86_64.deb

然后提示很多依赖缺失的错误,此时执行自动安装需要的依赖包

sudo apt install -f

再次重新安装就可以啦

sudo dpkg -i JLink_Linux_V788e_x86_64.deb

查看是否安装成功,输入JLink 再按下两次Table键,是否如下所示

这样表示安装成功了

2. 连接jlink

执行jlink操作

JLinkExe

出现连接失败,如下所示

原因:WSL2和WSL相比是真正的虚拟环境,功能也更加强大。但正是因为如此,所以硬件环境也是完全隔离的,不能像WSL一样直接引用Windows下的COM。如果想在WSL2下使用jlink,必须解决访问宿主机USB的问题

3. 解决WSL2使用USB的问题

下载usbipd-win的msi安装包

dorssel/usbipd-win:用于将本地连接的USB设备共享到其他计算机(包括Hyper-V来宾和WSL 2)的Windows软件。 (github.com)

Release usbipd-win 3.0.0 · dorssel/usbipd-win (github.com)

官方介绍解决方案:

连接 USB 设备 | Microsoft Learn

window: 首先下载msi包usbipd,安装,并加入环境变量

管理员模式打开PowerShell,查看usbipd

 查看当前所有usb设备

 linux: 如下安装

sudo apt install linux-tools-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20

查看usb 设备

lsusb

 当前还是没有jlink设备的

此时需要在window的管理员PowerShell中将jlink这个USB设备关联到WSL2中去

usbipd wsl attach --busid=<busid>

 attach完成后再Linux中查看usb设备

lsusb

此时已经有了jlink设备

执行jlink操作

JLinkExe

 可以正确识别jlink设备

尝试连接GD32芯片

 此时连接芯片也正常

4. window想再次使用jlink处理方式

 当attach jlink至wsl后,window不再能使用jlink了,如果再window下需要再次使用,需要先detach

usbipd wsl detach --busid=<busid>

5. 当wsl中usbip异常

  1. 当window下usbipd wsl list 可以正常显示,但是wsl下的usbip报错如下

    # 执行usbip,查看错误信息
    yang@DESKTOP-A0TQ4LV:/usr/bin$ ./usbip
    WARNING: usbip not found for kernel 5.15.90.1-microsoft
    ​
      You may need to install the following packages for this specific kernel:
        linux-tools-5.15.90.1-microsoft-standard-WSL2
        linux-cloud-tools-5.15.90.1-microsoft-standard-WSL2
    ​
      You may also want to install one of the following packages to keep up to date:
        linux-tools-standard-WSL2
        linux-cloud-tools-standard-WSL2
  2. 查看是否已经安装linux-tools-generic

        # 查看linux-tools的版本
        yang@DESKTOP-A0TQ4LV:~$ ls /usr/lib/linux-tools/
        5.15.0-83-generic
        yang@DESKTOP-A0TQ4LV:~$
​
        # 查看linux-tools/*-generic/中是否有usbip
        yang@DESKTOP-A0TQ4LV:~$ ls /usr/lib/linux-tools/5.15.0-83-generic/
        acpidbg  bpftool  cpupower  libperf-jvmti.so  perf  turbostat  usbip  usbipd          x86_energy_perf_policy
        yang@DESKTOP-A0TQ4LV:~$ 
  1. 如果没有linux-tools则需要安装

    # 安装
    sudo apt install linux-tools-generic hwdata
    # 更新链接(这里为什么是usr/local/bin而不是usr/bin ??)
    sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20
  2. 如果已经安装linux-tools并且存在usbip

    # 已经安装了还是出错,查看错误信息后发现是内核版本不对
    # 内核是5.15.90.1,而linux-tools的是5.15.0-83;
    # 所以需要重新更新链接
    sudo update-alternatives --install /usr/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20
  3. 此时在执行usbip则正常了,会显示相关操作信息

    yang@DESKTOP-A0TQ4LV:~$ usbip
    usage: usbip [--debug] [--log] [--tcp-port PORT] [version]
                 [help] <command> <args>
    ​
      attach     Attach a remote USB device
      detach     Detach a remote USB device
      list       List exportable or local USB devices
      bind       Bind device to usbip-host.ko
      unbind     Unbind device from usbip-host.ko
      port       Show imported USB devices

参考:

通过WSL2连接USB串口调试ESP32

Ubuntu:使用命令行安装deb文件

### Win10 上通过 WSL2 安装 Ubuntu 22.04 的教程 尽管提供的引用主要针对 Windows 11,但在 Windows 10 中也可以实现类似的安装过程。以下是详细的说明: #### 启用虚拟化功能 为了支持 WSL2,在安装之前需要确保计算机上的硬件虚拟化功能已被启用。这通常涉及进入 BIOS 或 UEFI 设置并激活 Intel VT-x 或 AMD-V 技术[^1]。 #### 安装 WSL2Windows 10 中,可以按照以下方法来安装和配置 WSL2- **更新到最新版本**:确认操作系统已升级至 Build 19041 或更高版本。如果尚未达到此要求,则需先执行 Windows 更新。 - **开启可选组件**:以管理员身份运行 PowerShell 并依次输入以下命令以启动必要的特性: ```powershell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` - **设置默认版本为 WSL2**:继续在同一会话下键入下面这条语句指定新下载的操作系统将以第二代模式运作: ```powershell wsl --set-default-version 2 ``` #### 获取与部署 Ubuntu 22.04 完成上述准备工作之后,就可以着手获取目标发行版文件了: - 访问微软商店或者直接利用命令行工具检索可用选项之一即 `Ubuntu` 关键词; - 使用如下指令自动完成整个流程(包括初始化账户密码设定等步骤),这里假设选取的是官方发布的镜像包名称叫做 “Ubuntu-22.04”: ```powershell wsl --install -d Ubuntu-22.04 ``` 此时应该已经成功设置了基于 WSL2 构架之下的完整环境,并且能够正常访问图形界面应用程序[^3]。 #### 删除现有实例 (如有必要) 假如中途遇到错误或者其他原因想要重新开始的话,那么了解怎样安全卸载先前创建好的实例就显得尤为重要了。具体做法如下所示: - 查找当前存在哪些分布式的清单表项: ```powershell wsl --list --verbose ``` - 对应选定的目标条目实施销毁动作前记得备份重要资料哦!接着再执行下列脚本来达成目的效果: ```powershell wsl --unregister Ubuntu-22.04 ``` 以上就是在 Windows 10 设备上面借助于 WSL2 来搭建起一套完整的 Ubuntu 22.04 运行平台所需要经历的主要环节概述[^2]^。 ```bash # 示例代码片段展示如何快速验证是否正确切换到了 WSL2 模式 uname -a && cat /proc/version && lsb_release -a ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值