【WSL2】WSL2+Win11 Python内使用ST-link & ST-Link/USB链接至WSL2

【WSL2】WSL2+Win11 Python内使用ST-link & ST-Link/USB连接至WSL2

起由是准备使用pyswd这个库,实现利用Python通过ST-Link调试STM32,由于电脑中的Python开发环境安装在WSL2内的Ubuntu22.04中,需要实现WSL2可以访问Win11中的ST-Link外设,在此记录下配置过程。

pyswd库配置和libusb安装

  1. 在Ubuntu中,利用pip安装pyswd
    pip install pyswd
    
    参考:pyswd 1.0.0
  2. win11中配置ST-Link驱动为libusb
    • 到 https://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.6.0/ 下载文件【libusb-win32-bin-1.2.6.0.zip】
    • 解压后进入~/bin/,打开程序【inf-wizard.exe】,选中STM32 STLink,生成对应的.inf驱动文件
      在这里插入图片描述
    • 点击Next后,选择合适的路径保存.inf驱动文件
      在这里插入图片描述
    • 然后点击Install Now…,完成驱动安装
      在这里插入图片描述
      如果出现:LIbusb:system policy has been modified to reject unsigned drivers
      解决方法:以管理员身份打开【inf-wizard.exe】,再重复上述操作.

WSL2连接至USB Device

如果不将WSL2连接至USB Device,当使用pyswd获取ST-Link的时候,会报如下错误:NoDeviceFoundException;表示WSL2中的Ubuntu无法连接到Win11中的USB Device。

  • WSL2连接至USB Device的操作过程可参考微软的官方文档进行:Connect USB devices

    ! WSL2 Kernel version要高于5.10.60.1,可在Powershell中使用wsl --update进行更新。

  • 操作完成后,在bash中调用lsusb,可以看见STLink Device说明链接成功。
    在这里插入图片描述

  • 操作完成后,若在调用pyswd出现如下错误:
    在这里插入图片描述
    其主要原因是上述微软官方指南的这段话:
    You should see the device you just attached and be able to interact with it using normal Linux tools. Depending on your application, you may need to configure udev rules to allow non-root users to access the device.

  • 后续可参考这个链接配置udev rules授予权限:udev rule to allow non-root access to libusb devices being ignored/not working #8502

  • Plus:每次断开USB设备后,都要重新在powershell使用usbipd wsl attach --busid <busid>进行连接,其中<busid>替换为对应的设备号,可通过命令usbipd wsl list查看。

更多的参考:https://github.com/dorssel/usbipd-win/wiki/WSL-support

备注

曾短暂出现了在Ubuntu bash中调用命令sudo service udev status/sudo service udev start,没有反应,后续利用命令sudo apt install udev安装udev后,重新调用上述语句,恢复正常…

  • 17
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ST-Link官方驱动是由STMicroelectronics公司开发的一款用于驱动ST-Link调试器的软件。该驱动可用于Windows、Linux和macOS等多种操作系统平台,它能够让用户通过USB接口来连接开发板和计算机,实现软件编程和调试的功能。 ST-Link官方驱动带有各种工具和软件,例如Flash编程器、GDB调试器、追踪程序等,为用户提供了一个完整的开发环境。该驱动还支持多种语言,包括C和C++等,可以满足不同开发人员的需求。 此外,ST-Link官方驱动还提供了丰富的文档和示例,方便用户快速上手。在使用过程中,用户可以通过该驱动来修改和烧写代码,以及进行调试。 总而言之,ST-Link官方驱动是一款可靠的开发工具,它能够提高用户的编程和调试效率,使用户更加便捷地进行嵌入式开发工作。 ### 回答2: ST-Link官方驱动是针对ST-Link调试器开发的一个驱动程序,用于让计算机能够识别、连接和控制ST-Link调试器,从而进行单片机的编程、调试和下载等操作。这个驱动程序由ST公司官方提供,支持多种操作系统,包括Windows、Linux和Mac OS等,用户可以根据自己计算机系统的配置和需要选择相应的版本进行下载和安装。 ST-Link调试器是STM32系列微控制器官方推出的一款调试工具,内置了调试接口和硬件调试逻辑,可以将计算机和STM32系列微控制器连接起来,实现调试和下载等操作。ST-Link官方驱动是和ST-Link调试器紧密相关的,它可以让计算机和ST-Link调试器之间建立可靠的通讯连接,并提供必要的控制命令和数据传输功能,保证了调试器的正常工作。 ST-Link官方驱动的特点包括:安全、稳定、易用、兼容性好等。用户只需要按照官方的安装指南,将驱动程序安装到计算机上,就可以开始使用ST-Link调试器进行单片机的编程、调试和下载等操作。此外,ST-Link官方驱动还支持多种编程软件和集成开发环境(IDE),方便了用户的开发工作。 需要注意的是,由于ST-Link官方驱动是基于ST公司的专有协议进行设计和开发的,所以不同的ST-Link调试器或者版本,可能需要使用不同的驱动程序。因此,用户在选择和使用ST-Link官方驱动时,需要仔细阅读官方文档,并选择与自己使用ST-Link调试器相对应的驱动程序,以保证调试器的正常工作。 ### 回答3: ST-Link官方驱动STMicroelectronics公司提供的USB驱动程序,主要用于连接ST-Link调试器和MCU进行调试和编程。驱动包括了USB驱动程序和调试器的固件更新程序两部分,通过这些程序可以实现与各种不同型号和系列的STMicroelectronics微控制器的连接,包括STM8、STM32等系列。 ST-Link调试器是一种高效的编程工具,可以支持多种MCU的调试需求,同时与多种开发环境兼容。除此之外,ST-Link官方驱动还支持多种操作系统,包括Windows、Linux和MAC OS等,易于使用和维护。 通过安装官方驱动,用户可以实现与ST-Link调试器的连接,便于进行程序的调试和编程工作。同时,官方驱动还支持各种开发环境,包括IAR、Keil、Eclipse等,方便用户使用所熟悉的编程环境进行调试工作。 总体来说,ST-Link官方驱动是一种高效、稳定的USB驱动程序,为STMicroelectronics微控制器的调试和编程提供了强大的支持。无论是各种型号和系列的MCU还是各种开发环境,都可以通过ST-Link官方驱动轻松实现连接和调试工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值