写笔记的由来:手中有个usb转串口的模块,有快am335的开发板带着usb接口。于是我想跟win上一样插上串口模块用用,却发现开发板烧写的内核中没有usb转serial的驱动,本来在windows上很简单的东西让我感觉一时摸不到头脑。这可让我如何是好,于是在网上搜了很多这些也确实给了我很大的帮助-是在usb to serial的原理上。好了开始吧,原理方面的额东西就不多说了,推荐看看宋宝华的精通linux设备驱动开发 串行设备驱动程序一章。我这里只简单的对如何将驱动编译进自己的系统。
使用环境:ubuntu,内核是kernel-3.2。
我们要找到内核为我们编写的驱动目录 /drivers/usb/serial/ 在这个目录里内核为我们写好了很多与usb转串口芯片的驱动程序,如果没有只能自己写了。看此目录下的Kconfig和Makefile是否已经将相关文件 进行了Kconfig:“ config xxx tristate “”xxx" ”; Makefile:“obj-$ +=xxx.o ” 其中 tristate变量的值:y、n和m 补充 bool变量的值:y和n ;string的变量值是:字符串。
看完了上面都为我们写好的东西好了,在内核根目录下/ 找到配置文件 .config 打开将要编译的 xxx=y 或者是 xxx=m
最后就是我们要做的了 在内核下make就可以了 ,当配置成 m我们就可以在 驱动目录下找到 xxx.ko 拷贝到我们的开发板上(注意一定要chmod 777可执行),进入开发板 insmod就可以加载我们刚刚编译的驱动模块了。最后查看一下lsmod ; ls /dev是否驱动过载完成。
好了到此就结束了。