平台:虚拟机Ubuntu 12.04  内核:linux-2.6.30 开发板: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 ,是不是看到刚才所放的文件了?

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

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

linux 2440网卡驱动,Linux-2.6.30平台下移植DM9000网卡驱动到TQ2440相关推荐

  1. linux-2.6.30平台下移植DM9000网卡驱动到TQ2440

    平台:虚拟机ubuntu12.04  内核:linux-2.6.30 开发板:TQ2440 包括编译内核.制作文件系统,到目前可以在虚拟机上可以通过交叉网线可以和开发板互通,用了弄了差不多快两天时间吧 ...

  2. 基于linux2.6.30.4内核的DM9000网卡驱动编译成模块成功ping通

    基于linux2.6.30.4内核的DM9000网卡驱动编译成模块成功ping通 最近有个学生毕业设计需要实现基于ARM的DM9000网卡通信,但是linux2.6.30.4内核已经把DM9000网卡 ...

  3. linux gianfar 网口驱动源码,基于MPC8313ERDB平台的Marvell88E1111型网卡驱动移植(uboot+kernel)...

    最近一个月挣扎于千兆网的设备驱动移植,现在终于弄出来了,虽然有点累但是收获还是挺多的. 进入主题前,首先要感谢网友gorilla0123,他的博客给了我很多启发,在此非常感谢.我建议做网卡驱动这方面的 ...

  4. linux qt 获取u盘名称,QT windows平台下获取U盘 QComboBox显示U盘盘符

    在windows平台下获取U盘信息,可以调用windows API函数比较方便.本来想用qt 来写的,网上关于这方面的代码比较多,但按照提示的步骤来写的就是无法编译,我也不知道为什么.如果有知道的朋友 ...

  5. win8.1 android驱动安装失败,win8.1系统下英伟达驱动安装失败的解决方法

    当我们在安装完win8.1系统的时候,总是要安装各种各样的驱动,然而有不少win8.1系统用户反映说遇到英伟达驱动安装失败的情况,遇到这样的问题该怎么办呢,现在随小编一起来看看win8.1系统下英伟达 ...

  6. 以太网卡驱动程序移植linux,Linux下移植ENC424J600网卡驱动,SPI接口初始化的相关问题...

    .chip_select]; if (devices.bus_num == 0) enable_spi0 = 1; else enable_spi1 = 1; 以下是初始化通讯接口 if (enabl ...

  7. linux 提取网卡驱动,韦东山-Linux下移植wifi网卡驱动(RTL8723) - 百问网嵌入式问答社区...

    硬件:韦老师的开发板IMX6ULL 内核版本:4.15(自己移植) 这次实验是在自己移植的内核上面加入RTL8723驱动 问题一:如何获取RTL8723驱动? 在韦老师给我们的程序中能够使用wifi, ...

  8. linux下移植电容屏驱动gt9xx 笔记

    # evtest /dev/event0 或者 # hexdump /dev/event0// 分析: \drivers\i2c\busses\I2c-digicolor.c static struc ...

  9. 外设驱动库开发笔记30:宇电AI-BUS通讯驱动

    嵌入式系统通常都会与外部设备进行通讯,这就涉及到通讯协议的问题.这些通讯协议有的是标准协议有的厂家自定义的协议,如宇电的AI-BUS.在本篇中,我们将讨论AI-BUS的驱动,以便于与宇电设备的通讯. ...

最新文章

  1. PHP复制和移动目录
  2. DWORD dwSendTime =::GetTickCount();
  3. 电脑出现qtwebengineprocess.exe停止报警_FANUC报警号,不用再翻书本了。
  4. 160 - 33 Cruehead.1
  5. 安装配置tengine
  6. “约见”面试官系列之常见面试题第二十三篇之get和post区别(建议收藏)
  7. angular,vue,react的基本语法—双向数据绑定、条件渲染、列表渲染、angular小案例...
  8. 景驰无人车总部落户广州:明年最低量产500辆,回应百度官司
  9. paip.提升用户体验--radio图片选择器 easyui 实现..
  10. JDK ThreadLocal解析
  11. linux快捷键列表,全面总结Linux快捷键的使用
  12. 五款APP让你告别拖延症!余生愿你活成自己想要的样子
  13. C语言学生宿舍水电费信息管理系统
  14. 为什么Java小伙对JavaScript和Node.js如此兴奋?
  15. 谈谈亲历的WMS、MES与ERP的集成之路
  16. 织梦后台编写网站的操作步骤
  17. Dynamic Head: Unifying Object Detection Heads with Attentions
  18. 假如工资有段位,你是个啥?
  19. INF=0x3f3f3f3f是 什么意思?
  20. OpenCV 图像无法显示 (python)

热门文章

  1. 考虑条件风险价值的多微网主从-合作博弈动态定价与优化调度模型
  2. intouch历史曲线
  3. 【leetcode】(python)78. Subsets亚群
  4. cocos2d-x 开发者大会之cocos2d-x与三国群殴传
  5. ubuntu下修改环境变量(详细说明)
  6. 联发科变山寨王幕后人物:徐至强让联想手机成大陆第一
  7. android工具集-android安全
  8. 雷达成像 Matlab 仿真 3 —— 多目标检测
  9. java 案例 神灯客服
  10. Python queue (队列)