BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #6363同步于 2009/11/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

[总结]驱动的更新或者移植

michealyao
2009/11/3镜像同步14 回复
原帖: http://forum.byr.edu.cn/wForum/disparticle.php?boardName=Embedded_System&ID=6230&pos=23 [平台] .硬件平台: rt2860开发板 .软件平台:uClinux .开发环境:ubuntu9.04 [要求]将最新的无限网卡驱动rt2860v2.2加到uClinux,在进行"make menuconfig"时,以前的版本的驱动仍然保留,只是新驱动和老版本的在配置时候二者只能选其一 [过程] 1. 刚开始我不知道,我的驱动源码是platform和交叉编译器可选的。所以我直接make导致,生成的代码是PC(x86平台下),后来通过查阅资料和诸位帮忙,在认真看了它的makefile以后,我选平台=rt2880, CROSS_COMPLIE=/opt/buildroot-gdb/bin/mipsel-linux-(我的交叉环境安装位置)。 2. 但是,我回到的我的uClinux源代码所在主目录,进行系统配置("make menuconfig"),然后"make dep",紧接着就报错: http://topic.csdn.net/u/20091029/15/5ef24929-ce34-432b-bd86-66d6e37b6eae.html,不知道原因上网查找,搞了半天才知道原因所在--无限网卡驱动的makefile需要重写 3. 于是,又参照旧版本的驱动的makefile,根据源码的makefile,重写新驱动的makefile,修改Config.in文件(系统配置时用,将新的驱动项加到配置选项中去),make时又报错,意思是在没有定义compile flag RTMP_PCI_SUPPORT,在驱动源码目录下的/include /rt2860.h中,搜RTMP_PCI_SUPPORT在源码目录下的os/linux/config.mk文件中,所以,这参照旧版本的makefile、源码的makefile还不够,还必须包含config.mk,于是直接包含进去不可以,而且看不大懂config.mk这个文件,我又上网问 http://forum.byr.edu.cn/wForum/disparticle.php?boardName=Embedded_System&ID=6298&pos=19 4. 后来又上网查找makefile的资料,找到手册(GNU make中文手册_V3.8.pdf)和uClinux源代码中Make文件完全解析.pdf(这本书帮我理解了整个uClinux中源码树结构和config.mk文件的作用) 5. 最后根据驱动源码下的config.mk和makefile,参照旧版本驱动的makefile的编写格式,最终完成编译通过,下载到目标板中,验证通过 [总结] 1. 一个驱动的更新或者移植,主要修改平台和交叉编译器,一般README文件中都会有相应说明(README很重要哦,只要是README和*.txt都应该先好好看看里面有什么),当然我的驱动里只要选了平台和交叉编译器就可以了,如果是移植的话,可能还有更多的细节需要修改,这个我就不知道了。 2. 写新的驱动,或者移植更新驱动,必须掌握makefile的编写 ps: 得到大家的帮助,所以分享下搞驱动的一点体会,不对的对方,欢迎大家指出
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
michealyao机器人#1 · 2009/11/3
uClinux源代码中Make文件完全解析.pdf的下载地址 uClinux源代码总Make文件完全解析
hobby机器人#2 · 2009/11/3
一般做驱动编译,一定要注意两点 1、交叉编译的环境要配置正确。提示:其实可以对编译好的文件用file命令查看,会告诉你此文件的平台类型的 2、编译驱动使用的内核源码树要和开发板上实际运行的内核一致,如果不一致可能会出奇怪的错误。 【 在 michealyao (吾爱雨寒) 的大作中提到: 】 : 原帖: http://forum.byr.edu.cn/wForum/disparticle.php?boardName=Embedded_System&ID=6230&pos=23 : [平台] : .硬件平台: rt2860开发板 : ...................
hobby机器人#3 · 2009/11/3
话说config文件的问题解决了吗? 要是已经解决了也分享一下吧,让版内同学学习下~ 【 在 michealyao (吾爱雨寒) 的大作中提到: 】 : uClinux源代码中Make文件完全解析.pdf的下载地址 : [color=#0000FF] : uClinux源代码总Make文件完全解析 : ...................
michealyao机器人#4 · 2009/11/3
照猫画虎,编了一个,解决了。但是,一个完整的config.in文件还是有很多看不明白的地方 【 在 hobby 的大作中提到: 】 : 话说config文件的问题解决了吗? : 要是已经解决了也分享一下吧,让版内同学学习下~
ArmStrong机器人#5 · 2009/11/3
精华之,强烈建议大家遇到困难拿上来跟别人讨论,解决了问题再与大家分享 【 在 michealyao (吾爱雨寒) 的大作中提到: 】 : 原帖: http://forum.byr.edu.cn/wForum/disparticle.php?boardName=Embedded_System&ID=6230&pos=23 : [平台] : .硬件平台: rt2860开发板 : ...................
michealyao机器人#6 · 2009/11/4
今天又看了下《 uClinux源代码中Make文件完全解析.pdf》第9章系统配置源代码分析(给的那个超连接可以下载),对config文件有比较详细的解读 【 在 hobby 的大作中提到: 】 : 话说config文件的问题解决了吗? : 要是已经解决了也分享一下吧,让版内同学学习下~
hobby机器人#7 · 2009/11/4
那不错啊,鼓励分享! 大家相互交流才能进步的更快嘛~ 【 在 michealyao (吾爱雨寒) 的大作中提到: 】 : 今天又看了下《 uClinux源代码中Make文件完全解析.pdf》第9章系统配置源代码分析(给的那个超连接可以下载),对config文件有比较详细的解读
meteor机器人#8 · 2009/11/4
支持交流贴!
ttfish机器人#9 · 2009/11/4
支持一下