Tag: usb

可编程USB加密狗

我在哪里可以购买支持C作为开发语言的可编程USB加密狗?

以编程方式获取Linux平台上USB设备的供应商ID,产品ID

我一直在尝试编写一个简单的设备驱动程序,我在其中以编程方式获取供应商ID和产品ID。 经过几乎所有必要的头文件后,我得出结论,我可以通过以下结构访问USB设备的供应商ID,产品ID和制造商详细信息: struct usb_device{} ,其中包含成员struct usb_device_descriptor{} 。 这个嵌套结构有idVendor, idProduct和iManufacturer以及其他一些成员。 但不知何故,由于某种原因,我无法访问这些成员,所以当我插入我的模块后执行dmesg ,它会打印一些垃圾值。 我很乐意收到帮助或提示或任何回复。 以下是我到目前为止编写的代码: PS:已经制作了必要的内容。 经过几乎所有必要的头文件后,我知道我可以通过以下结构访问USB设备的供应商ID,产品ID和制造商详细信息: struct usb_device{} ,其中包含成员struct usb_device_descriptor{} 。 这个嵌套结构有idVendor, idProduct和iManufacturer以及其他一些成员。 //******************************************* struct usb_device udev; struct usb_bus *bus; ssize_t ret; static int __init usb_fun_init(void) { int result; __le16 idVendor = 0; __le16 idProduct = 0; __u8 iManufacturer = 0; printk(KERN_INFO “\n************************************ in init\n”); list_for_each_entry(bus, […]

通过应用程序跳转到STM32中的Bootloader,即在用户闪存的引导模式下使用Boot 0和Boot 1 Pins

我有固件升级的要求。 我打算使用USB DFU类。 但在我的情况下,固件升级命令将来自PC应用程序。 所以我需要切换到系统内存中的bootloader。 最初我正在运行应用程序,因此它从用户闪存启动,即我为用户闪存配置了Boot0和Boot 1引脚。 由于DFU引导加载程序存在于系统闪存中,现在需要更改Boot0和Boot1引脚设置。 有没有像启动0和启动1设置保持用户闪存相同的方式,在应用程序中我们跳转到系统内存?