LINUX内核与驱动的最新编译方法

嵌入式技术

1367人已加入

描述

驱动编译有两种方法:

1. 编译到内核中

2. 编译为独立模块

建立方法:

1) 在linux源码树的驱动目录增加自己的驱动目录,比如:现在新增一个网络设备驱动

mkdir linux_tree/drivers/net/poker_driver -p

cd linux_tree/drivers/net/poker_driver

2) 编写驱动源码

vi  poker_drv_part1.c

vi  poker_drv_part2.c

vi  poker_drv_part3.c

3) 编写源码目录Kconfig

vi Kconfig

config POKER_DRV
tristate "poker_driver support"
default n
---help---
If you say Y here, the kernel will support poker_driver.
If you say M here, the kernel not support poker_driver, must perform "insmod poker_driver.ko".
If you say N here, the kernel not support poker_driver.

4) 编写源码目录Makefile

vi Makefile

obj-$(CONFIG_POKER_DRV) += poker_drv.o
poker_drv-objs += poker_drv_part1.o poker_drv_part2.o poker_drv_part3.o

5) 修改上级Kconfig

vi linux_tree/drivers/net/Kconfig

source "drivers/net/poker_driver/Kconfig"

6) 修改上级Makefile

vi linux_tree/drivers/net/Makefile

obj-$(CONFIG_POKER_DRV) += poker_driver/

7) 配置内核

make menuconfig

Device Drivers  --->

[*] Network device support  ---> 

<>poker_driver support

1. 编译到内核中:

<*>poker_driver support

linux_tree# make uImage

2. 编译为独立模块

poker_driver support 

linux_tree# make modules

括号问题:

[]   可选项 * 空

<> 可选项 * M 空



 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分