现在的位置: 首页 > 操作系统 > 正文

enc28j60网卡驱动模块添加进Linux内核,Kconfig,Makefile配置过程

2020年02月10日 操作系统 ⁄ 共 1402字 ⁄ 字号 评论关闭

这里是要把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内容请登录学步园。

抱歉!评论已关闭.