iTOP-iMX6开发板-设备树驱动-以module的方式编译驱动
内核驱动不仅可以将驱动编译到内核中,还可以动态的编译内核驱动。本文档介绍如何以 模块的方式编译内核驱动。 以 module 的方式编译驱动,需要以下几个部分: 1 内核成功编译过; 2 找到内核的 arm 编译器; 3 编译简单驱动; 4 编译简单的 Makefile 文件,Makefile 文件中需要指向内核源码目录(成功编译过的内核源码目录); 和文档在一起的有“Makefile”、c 文件和 ko 文件,大家可以用来测试。 要动态的编译内核,首先需要将内核源码编译通过,内核的编译请参考使用手册第五章。 内核和编译器路径 本节介绍内核路径、编译器路径。无论是 Qt 和 Ubuntu 的内核源码,都是在 android 源码包中,所以必须先解压 android 源码到 Ubuntu14.04 中。 如下图所示,作者的 android 源码在“/home/iMX6Q/iTOP-iMX6_android6.0.1”目录下,内核源码在其中的“kernel_imx”目录下。 进入“kernel_imx”目录,查看“build_android_kernel.sh”中的脚本文件,如下图所示。 如上图所示,我们可以得到一些信息,在后面编译内核模块的时候,需要设置编译目标平台为 arm,“export ARCH=arm”; 编译器的路径为“$(pwd)/../prebuilts/gcc