这里是要把http://www.xuebuyuan.com/Linux/2017-02/140819.htm 中的enc28j60网卡驱动模块,添加到2.6.22.6内核中,这个模块代码不需要任何修改。只需要在内核目录下的相关配置脚本文件,如Makefile,Kconfig,.config等,修改某些配置就行。
enc28j60网卡驱动模块使用到的几个文件:
enc28j60.c
enc28j60_hw.h
spi_bitbang.c
spi_s3c24xx.c
spi_platform_dev.c
实际上spi_bitbang.c,spi_s3c24xx.c为内核原生文件,也不需要任何改动。在http://www.xuebuyuan.com/Linux/2017-02/140819.htm这个例子中,我的内核没有把这两个文件编译进去。因此需要手动把这两个文件加载进去。
在这里,我们在内核添加
enc28j60.c
enc28j60_hw.h
spi_platform_dev.c
这3个文件即可。
enc28j60.c,enc28j60_hw.h这两个文件,是与平台无关的网络驱动,因此把他们放到linux-2.6.22.6/drivers/net目录下。
spi_platform_dev.c是与平台硬件有直接关系,因此把它放到linux-2.6.22.6/arch/arm/plat-s3c24xx目录下。
1. 把spi模块添加进内核
a. 进入到linux-2.6.22.6源码目录下
make makeconfig
这样,就会在中端显示图形界面的内核配置菜单,找到SPI相关的配置:
Device Drivers --->
SPI support --->
[*] SPI support
[*] SPI Master Support
<*> Bitbanging SPI master
<*> Samsung S3C24XX series SPI
<M> Samsung S3C24XX series SPI by GPIO
在[]或<>的条目按空格键,*号表示把相关的模块文件添加进内核,M表示把相关的文件编译成模块,不添加到内核,空格表示不配置:如
[*] SPI support 设置把linux-2.6.22.6\drivers\spi目录添加到上层drivers目录
[*] SPI Master Support 设置把spi.c添加进内核
<*> Bitbanging SPI master 设置把spi_bitbang.c添加进内核
<*> Samsung S3C24XX series SPI 设置把spi_s3c24xx.c添加内核,硬件SPI
<M> Samsung S3C24XX series SPI by GPIO 设置把spi_s3c24xx_gpio.c生成模块,模拟SPI
b. 退出配置菜单,保存,会在linux-2.6.22.6源码目录下生成.config文件。
vi .config
找到SPI的相关配置:
以上就上有关enc28j60网卡驱动模块添加进Linux内核,Kconfig,Makefile配置过程的相关介绍,要了解更多enc28j60网卡驱动模块,enc28j60,enc28j60网卡驱动模块添加进Linux内核,Kconfig,Makefile配置过程,编程,Linux编程,Linux Shell,Android,Android教程,JAVA,C语言,Python,HTML5内容请登录学步园。