设为首页 加入收藏

TOP

Linux-2.6.30平台下移植DM9000网卡驱动到TQ2440
2014-11-24 11:50:13 来源: 作者: 【 】 浏览:0
Tags:Linux-2.6.30 台下 移植 DM9000 网卡驱动 TQ2440

包括编译内核、制作文件系统,到目前可以在虚拟机上可以通过交叉网线可以和开发板互通,用了弄了差不多快两天时间吧。现在回想起来觉得本来很容易的事,却拉了这么长时间,很小的一个错误,本来可以在编译错误时,迅速定位到错误位置,但本人算是个菜鸟,再者在网卡驱动移植时,tq2440的说明修改代码的位置很是模糊,加上对代码的含义不甚了解,就浪费了好多时间。所以把我惨痛的经历写下来与诸君共享之……


首先,至于说怎么从网上下载linux内核源码,制作文件系统,tq2440的资料上说的很清了,网上也一搜就好多,我就不说了,重点说说网卡的移植。


天嵌以2.6.25和2.6.30.4版本的内核为例说linux网卡的移植,我用的是2.6.30版本的,我不知道他和2.6.30.4到底有多大区别,在移植步骤中,移植手册不断的说明要往dm9000.c哪行添加代码,也不说清这些行是以修改前为准,还是以前面修改后的行为准,代码位置也不敢随便加。在这个过程中纠结了好久好久。直到看到点击打开链接此篇博客,他把需要添加定义的宏,全部放到dm9000_init(void)中去,就是在加载模块时,就执行这些宏,不过,要说明的是,在移植手册中,一共需要在不同的地方定义oldval_bwscon、oldval_bankcon4 、S3C2410_BWSCON、S3C2410_BANKCON4,并且,后两个变量在不同的地方定义了两次,可能是需要程序选择执行,但是在dm9000_init(void)中只需要用一次即可,否则,会出现矛盾,虽然它也能编译过(我都编译通过了,把内核下载到板子上就启动不起来,后来检查代码是才发现定义的六个变量有两个是两两重复的。删除一对后,就可以通过了)。后续工作移植手册都说的很详细,不再细表!


剩下的工作就是ubuntu和板子的通信了,下面一篇文章说的很好,贴过来:


一:安装 NFS 服务器


sudo apt-get install nfs-kernel-server


二:配置该服务器


sudo vi /etc/exports


在打开的空的文件中,添加想要共享的目录


/opt/FL2440 *(rw,sync,no_root_squash)


这里 /opt/FL2440 是 ubuntu 给其他平台 ( 开发板,其他远程终端等 ) 提供的共享目录; * 表示所有客户机都可以挂载上述共享目录, rw 表示挂接此目录的客户机对该目录有读写的权力, no_root_squash 表示允许挂接此目录的客户机享有该主机的root 身份。


三:启动 NFS 服务


sudo /etc/init.d/nfs-kernel-server start


然后,在开发板上做如下设置:


四:打开超级终端或者 DNW ,保持串口处于通信状态


五:通过交叉网线连接 PC 和开发板。这一步千万不能忘, NFS 靠的就是这根线啊,线路都不通了,如何能够配置成功?


六:确保 ubuntu 下的 IP 地址与开发板的 IP 地址在同一网段。二者皆可以通过ifconfig 查询,以及通过它设置 IP 地址。如果不在同一网段,请手动设置为同一网段。


以上六步已经配置好 NFS 了,下面具体测试是否通信正常:


七:在开发板的 linux 启动后的命令行里输入如下指令:


mount –t nfs –o nolock 192.168.1.168:/work/nfs_root /mnt


其中 192.168.1.103 为 PC 端 ubuntu 的 IP 地址。我这里本身开发板的 IP 地址不在这一网段,通过如下命令:


ifconfig eth0 192.168.1.101


这时,开发板的 IP 就设置成 192.168.1.101 了。前面的挂载命令将会把 PC 端的ubuntu 下的 /opt/FL2440 目录挂载到开发板的 /mnt 目录。当然,前提是开发板的linux 系统必须具备这个目录了。试试先在 ubuntu 的 /opt/FL2440 路径放个文件,然后在开发板的命令行终端敲入 ls /mnt ,是不是看到刚才所放的文件了?


八:如果第七步没有成功,请仔细检查以上七步,重复一到七步!


以上内容算是这两天的成果总结吧,后续的驱动的加载,都是在此基础上,所以,这些基础工作还是先打牢,再前进!


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android自定义对话框 下一篇Android中活动Activity方面的知识..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·About - Redis (2025-12-26 08:20:56)
·Redis: A Comprehens (2025-12-26 08:20:53)
·Redis - The Real-ti (2025-12-26 08:20:50)
·Bash 脚本教程——Li (2025-12-26 07:53:35)
·实战篇!Linux shell (2025-12-26 07:53:32)