Board logo

标题: TQ335x学习笔记——Nand&网卡驱动移植 [打印本页]

作者: yuyang911220    时间: 2017-6-16 11:26     标题: TQ335x学习笔记——Nand&网卡驱动移植

移植完成声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍。介绍之前先感慨一下:TI的维护的内核真的很健壮,DTS真的很强大。

  1. Nand驱动移植

  阅读TQ335x的原理图可知,TQ335x的Nand连接到了GPMC上,且与DTS中默认的配置吻合,此处不做任何修改,详情如下:

  直接编译内核,并放到开发板上运行。这时我们会发现内核可以识别Nand,但是因为没有开启OMAP的BCH功能会报一处错误。开启该配置项的方法如下:

  保存配置并退出menuconfig,然后重新编译内核并放到开发板上运行,此时会发现内核已经可以正常识别Nand了,完整的启动Log会在文章末尾给出。从这里可以看出,TI的内核维护的真的很不错,比以前移植三星芯片时省事很多。

  2. 网卡驱动移植

  进行网卡驱动移植的方法与进行Nand驱动移植的方法相同,逻辑上讲,先应该去确认下网卡的引脚连接并在DTS中进行相应的pinmux设置,但是,移植完Nand后查看内核的启动Log可知,网卡已经正常识别了,因此,可以直接执行指令:

  来动态获取ip(需要将开发板通过网线连接到路由器并开启路由器的DHCP功能,默认一般是开启的),会发现开发板能够从路由器分配到IP,但是没有分配DNS,这是因为我们只做文件系统时没有进行dhcp的设置。设置方法很简单,将busybox中的examples/udhcp/simple.script拷贝到根文件系统的usr/share/udhcpc/目录下,并改名为default.script即可。然后重新执行:

  会发现开发板可以正常获取到IP和DNS,但是仍有一处错误,详细如下:

  参考TI官网提供的evm开发板的dts,本文对tq335x.dts做如下修改:

然后删除以下节点:

重新编译tq335x.dtb:

用新的tq335x.dtb启动开发板:

最后,再次使用指令:

  进行测试,会发现开发板能够正常获取IP和DNS。如果您的路由器已经连接到了外网,还可以使用ping指令测试与外网的连接,如ping谷歌的DNS服务器:

  至此,就完成了TQ335x的Nand和网卡驱动移植,并不需要深入的了解其内部的工作原理,有问题可以留言讨论。如果想了解这两个模块的工作原理,强烈推荐韦东山老师的嵌入式教学视频,静下心来看的话,绝对物有所值。该视频还是需要一定的硬件和软件功底的,如果看不懂可以补习下C语言、基本原理图阅读等方面的知识。






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0