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的整个系统”里面步骤非常详细
第一步 烧写uboot到nor flash
第二步:格式化一下nand flash,然后重新保存uboot的环境变量到nand flash中
第三步:烧录uboot到nand 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驱动开发之环境搭建的主要内容,如果未能解决你的问题,请参考以下文章