【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

时间:2022-04-05 16:35:10

花了一天的时间研究了一下Linux-2.6.30.4版本号内核下关于TQ2440 DM9000E的网卡驱动移植。总结一下自己的收获。

     事实上。在Linux-2.6.30.4版本号内核下有关于网卡驱动,可是这个网卡驱动不是针对于 DM9000E。而是针对于 DM9000的。

因此要在此基础之上改动一些參数。而且打上必要的相关代码。这个网卡驱动移植是參照了“天嵌科技出品-Linux移植之Step By Step_V4.6”的文档。但就是这样。还是花费了将近一天的时间。事实上这里的难点在于:文档中仅仅是给出了改动代码的大体位置。而没有非常具体的说清楚。因此才会出现,不知道要在什么位置加入或者改动代码的问题。这个文档上面的配置方法,我总共配置了不下5遍。

对比着这个文档,以及从网上搜索的一些资料。改了一遍又一遍。

     因此,我认为学习嵌入式。不仅要有一股坚持的劲,还要有耐心。由于我在改动网卡驱动的时候。改动一遍,编译内核,下载到板子。执行看是否正确。然后再改动一遍。然后再编译内核,然后再下载到板子,在执行查看结果……知道成功为止。这中间不知道要经过多少次的反复。难免会认为烦躁,甚至气馁。

可是,我个人认为这似乎才是学习的真谛:我们遇到问题。然后我们想方设法去解决这个问题。在解决这个问题的时候,我们会去查阅资料,会去思考,会去如果,然后自己去做实验去验证(实践),如果如果不对,就会再去查资料,思考,如果,验证……直到成功。事实上说究竟,就是反复。在反复的过程中。慢慢的理解了这部分的知识,慢慢的提升了自己的能力。有的时候我们突破一个问题的时候,就会有一种豁然开朗的感觉。因此,学习怕的不是遇到非常多的问题,而是遇不到问题。

总结到此结束。

以下将配置好的代码的详细位置上图:

arch/arm/mach-s3c2440/mach-smdk2440.c

1、加入蓝色区域内的代码

【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

2、加入蓝色区域内的代码

【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

3、加入蓝色区域内的代码

【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

以下是改动drives/net/dm9000.c文件

4、加入蓝色区域的代码

【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

5、加入蓝色区域的代码

【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

6、加入蓝色区域的代码

【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

7、加入蓝色区域的代码

【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

8、加入蓝色区域的代码

【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

9、加入蓝色区域的代码

【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)