JZ2440驱动开发之环境搭建

Posted ncne

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JZ2440驱动开发之环境搭建相关的知识,希望对你有一定的参考价值。

  作为Linux驱动开发的小白搭建整个开发环境是至关重要的一步,鄙人是从裸机程序直接跳转到驱动里面来的,裸机到驱动的衔接没怎么看,所以在刚开始驱动的时候搭环境遇到了大麻烦,不过还是在坚持中挺过来了,还得感谢博客园Nqian博主的支持,  大家可以看看他的文章非常好,还可以和博主交流   网址:https://www.cnblogs.com/lifexy/

环境搭建:

一 单板配置:

  如果你没有自己移植U-boot和内核建议直接烧官方提供的,(如果你想自己去移动植,可以参考:https://www.cnblogs.com/lifexy/p/8136378.html)小白不建议,

  对于小白我们可以直接来参考官方提供文档“重新烧写JZ2440的整个系统”里面步骤非常详细

    第一步   烧写ubootnor flash

      第二步格式化一下nand flash然后重新保存uboot的环境变量到nand flash

    第三步烧录ubootnand flash

    第四步:烧录linux内核的uImage文件到nand flash

   这一步文档上使用的是tftpd32.exe软件来烧入的,但是发现此软件有问题对比如图,一直没有OK不知道为什么:果断使用dnwl来烧入

技术图片技术图片

  使用dnwl烧入方法:

  首先启动单板连接串口到如图界面:

  技术图片技术图片

 

  第五步:烧录linux根文件系统文件到nand flash   方法同第四步

 至此单板的配置就OK·,开机可以直接进到官方提供的QT界面里面去。

二.驱动编译环境配置

  对于Linux系统而言对于编译环境是非常严格的,一定要一一对应,我们单板上用的是官方提供的uImage4.3(其实是linux-2.6.22.6内核),所以我能可以在Ubuntu用linux-2.6.22.6内核来搭建环境

  第一步:解压内核和打补丁,如图:

技术图片

  第二步:简单修改linux-2.6.22.6内核文件:

  配置顶层Makefile(主要是配置编译器为arm-linux-gcc-3.4.5-glibc-2.3.6所在路径)

技术图片

记得一定要修改怎么Ubuntu的默认编译器和Makefile一样,不然到时候你的测试程序会一直报错的,如图:

技术图片

  第三步:配置Ubuntu的交叉编译工具:  

   sudo vim /etc/environment

 

 技术图片

 

 第四步:Ubuntu NFS配置与单板互传文件:

  非常重要的一步,笔者弄了好久才成功了,具体还不太弄,推荐经典文章:https://www.cnblogs.com/multimicro/p/9269863.html

需要注意:每次重新开机单板的时候都要在内核里使用mount挂载NFS目录

 

mount -t nfs -o nolock,vers=2 192.168.1.199:/home/oyl/nfs_root /mnt 
//mount命令将远端虚拟机/work/nfs_root目录挂载到开发板/mnt目录里
//nolock:禁用文件锁 vers=2:nfs版本协议2 192.168.1.199:虚拟机地址

 

 运行报错:

技术图片

 

原因是没有打开网卡,(避免每次都要手动打开可以写入/etc/init.d/rcS)

 

ifconfig eth0 up
ifconfig eth0 192.168.1.198

 

   如果mount挂载还是失败,可能有两个原因

  1.确定开发板是否与Ubuntu位于同一网段

ifconfig eth0 up //开启网关0,连接网线到路由器
ifconfig eth0 192.168.1.107 //设置ip,与虚拟机ip网段一样,
ping 192.168.1.106 //与虚拟机ping一下,是否已通

   2.确定Ubuntu是否有被挂载可以回到https://www.cnblogs.com/multimicro/p/9269863.html

 

 

到此一个完整的开发环境就搭建完成了,下面就是各种驱动的玩耍了。

以上是关于JZ2440驱动开发之环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

linux-2.6内核驱动学习——jz2440之按键

JZ2440_V3_内核驱动程序_点亮一个LED灯

Jz2440开发板熟悉

JZ2440 裸机驱动 第13章 LCD控制器

JZ2440 裸机驱动 第6章 存储控制器

Jz2440 环境安装