linux2.6内核下驱动模块的编译方法

时间:2021-12-24 17:51:42

最近入手一块新的板子,freescale i.mx53平台的,需要在上面写几个驱动程序。要求基于linux.2.6.35。

好长时间没写程序了,快2年的时间了,一起在做硬件,原理设计,PCB出板。

编译方法如下:

1、新建工作目录 mkdir /home/zhangshaoyan/i.mx53/mydrivers

2、在此目录下编写驱动程序源文件 i_mx53_led.c

3、同样在此目录下建立Makefile

             obj-m := i_mx53_led.o

4、随意在某个路径下编译一次内核,生成内核目录树。假如是/home/zhangshaoyan/i.mx53/kernel_mx53

5、编译(注意必须在内核根目录下,即/home/zhangshaoyan/i.mx53/kernel_mx53/)

make ARCH=arm CROSS_COMPILE=/home/zhangshaoyan/arm-eabi-4.4.0/bin/arm-eabi-  -C 内核路径 M=待编译的驱动程序路径 modules

后经实验发现make ARCH=arm CROSS_COMPILE=/home/zhangshaoyan/arm-eabi-4.4.0/bin/arm-eabi-  M=待编译的驱动程序路径 modules

也可以生成.ko驱动模块文件。