一、开启驱动开发之路
1、驱动开发的准备工作
(1)正常运行linux系统的开发板。要求开发板中的linux的zImage必须是自己编译的,不能是别人编译的。原因在于在安装模块的时候会进行安全性校验
(2)内核源码树,其实就是一个经过了配置编译之后的内核源码。我们需要内核源码编译自己的模块
(3)nfs挂载的rootfs,主机ubuntu中必须搭建一个nfs服务器。这对于驱动开发前期是不可或缺的,能够提高我们的开发效率。
2、驱动开发的步骤
(1)驱动源码编写、Makefile编写、编译
(2)insmod装载模块、测试、rmmod卸载模块
3、实践
(1)copy原来提供的x210kernel.tar.bz2,找一个干净的目录(/root/driver),解压之,并且配置编译。编译完成后得到了:1、内核源码树。2、编译ok的zImage
(2)fastboot将第1步中得到的zImage烧录到开发板中去启动(或者将zImage丢到tftp的共享目录,uboot启动时tftp下载启动),将来驱动编译好后,就可以在这个内核中去测
试。因为这个zImage和内核源码树是一伙的,所以驱动安装时版本校验不会出错。
我一般都会选择通过uboot启动之后使用tftp去下载主机服务器端共享目录中的zImage镜像文件,而不直接将zImage镜像文件烧入到Flash中,因为可能我们在开发驱动的过程
中会重新对内核进行配置编译,然后让开发板去启动这个新编译好的内核镜像文件,如果这样重复烧flash就比较麻烦了,效率也不高。
参考: 《朱友鹏嵌入式Linux开发\5.Linux驱动开发\5.2.字符设备驱动基础》