1、usb-skeleton.c编译为usb-skeleton.ko模块

        在内核源码的driver/usb目录中的kconfig、Makefine文件中添加usb框架文件:

config USB_SKELETON_CONFIG

tristate "TQ2440/SKY2440 USB_SKELETON Driver"

depends on USB

default m if USB

help

EmbedSky TQ2440/SKY2440 USB_SKELETON.

 

obj-$(CONFIG_USB_SKELETON_CONFIG) += usb-skeleton.o

 

2、通过make menuconfig配置内核,选择USB_SKELETON

linux usb框架驱动usb-skeleton.c的应用 - 北极星 - xiebingsuccess的博客

 3、在内核源码目录编译,得到usb_skeleton.ko模块

linux usb框架驱动usb-skeleton.c的应用 - 北极星 - xiebingsuccess的博客

 4、测试usb-skeleton.ko

修改源码的vendorid和productid,并加入一点打印消息,重新编译模块,并加载模块,插入usb wifi:

/* Define these values to match your devices */

/*#define USB_SKEL_VENDOR_ID 0xfff0

#define USB_SKEL_PRODUCT_ID 0xfff0*/

#define USB_SKEL_VENDOR_ID 0x0bda

#define USB_SKEL_PRODUCT_ID 0x818b

linux usb框架驱动usb-skeleton.c的应用 - 北极星 - xiebingsuccess的博客

 可以看到usb-skeleton正常工作起来了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐