enc28j60网卡驱动模块添加进Linux内核,Kconfig,Ma(2)

... ... obj-$(CONFIG_SPI_MASTER) += spi.o ... ... obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o ... ... obj-$(CONFIG_SPI_S3C24XX) += spi_s3c24xx.o ... ...


d. 修改完以上配置之后,在linux-2.6.22.6目录下输入:

make uImage

进行编译,耐心等候。。。。。。。。。。。。。。

编译完之后,通过观察编译输出信息,验证一下到底有没有编译进内核,第一次编译输出的信息太多不好找。可以打开

spi_bitbang.c

spi_s3c24xx.c

这两个文件,分别在里面空白的地方输入一个空格,保存,再编译,会看到以下信息:

... ... CC drivers/spi/spi_bitbang.o CC drivers/spi/spi_s3c24xx.o ... ...

到这里,SPI的驱动就已经添加到内核了

2. enc28j60的驱动的添加方法也是类似的,这里只给出基于JZ2440自带内核的修改地方不再分析Kconfig和Makefile的配关系。

linux-2.6.22.6\drivers\net\Kconfig

... ... config ENC28J60 tristate "ENC28J60 support" depends on NET_ETHERNET ---help--- Support for ENC28J60 chipset. To compile this driver as a module, choose M here and read <file:Documentation/networking/net-modules.txt>. The module will be called enc28j60. ... ...

linux-2.6.22.6\drivers\net\Makefile

... ... obj-$(CONFIG_ENC28J60) += enc28j60.o ... ...

make menuconfig

Device Drivers ---> Network device support ---> Ethernet (10 or 100Mbit) ---> <*> ENC28J60 support

linux-2.6.22.6\arch\arm\plat-s3c24xx\Makefile

... ... obj-$(CONFIG_CPU_S3C244X) += s3c244x.o spi_platform_dev.o ... ...


3. 重新编译

make uImage

4. 烧写

烧写uImage到开发板中

5. 启动

a. 启动起来后,看内核打印的信息:

查看驱动加载情况

b. 让系统挂载系统文件之后,配置eth1(enc28j60)

vi /etc/init.d/rcS

添加:

ifconfig eth1 192.168.1.12 netmask 255.255.255.0 up

重新启动,看网络配置情况

关闭eth0,自动切换到eth1挂载nfs

到这里,enc28j60已经可以正常工作了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/247c813e5623e6739339ea78b9c054d9.html