编辑文章

来源:互联网 发布:淘宝店铺怎么写代码 编辑:程序博客网 时间:2024/05/16 23:01

看韦东山视频,没有按照其提供的虚拟机环境,用的是VBox+Ubuntu12.04.先前安装的arm-linux-交叉编译环境是4.4.3,编译出来的uboot和linux内核在烧进去开发板的时候都会出现很多莫名其妙的问题。于是改变编译器,换成3.4.5,即可实现相应的编译。

文件系统采用的是其光盘资料中提供的fs_qtopia.yaffs2。


1.uboot

tar -xjvf u-boot-1.1.6.tar.bz2cd u-boot-1.1.6patch -p1 < ../u_boot_1.1.6_jz2440.patchmake 100ask24x0_configmake

其中100ask24x0_config在打完补丁后才有。

通过oflash或者openJTA烧写进NAND FLASH/NOR FLASH

通过print可打印uboot参数

set +参数名+ 参数值 设置参数,这里需要将serverip 设置为物理机或者是虚拟机的ip(172.16.90.109/172.16.90.212),才能通过NFS进行挂载

save保存参数


2.Linux kernel

tar -xjvf linux-2.6.22.6.tar.bz2cd linux-2.6.22.6patch -p1 < ../linux-2.6.22.6_jz2440.patchcp config_ok .config//也可以去查找+defconfig*查看有没有默认配置,有的话可以用,此处其提供有config_okmake uImage//需要将uboot源码 里tools目录下的mkimage复制到/usr/bin里去,才能生成可供uboot使用的内核uImage


3.手动实现NFS挂载

虚拟机上:

sudo apt-get install nfs-kernerl-server

然后vi /etc/exports

添加 /home/用户名/work/loadonboard *(rw,sync,no_root_squash)

启动NFS服务: sudo /etc/init.d/nfs-kernerl-server restart

本机试验挂载:sudo mount -t nfs 虚拟机ip:/home/用户名/work/loadonboar /mnt

在开发板上,首先要先ping通虚拟机,开发板挂载到Linux虚拟机的命令:

mount -t nfs -o nolock 虚拟机ip:/home/用户名/work/loadonboard /mnt
但是,传输大数据的话容易出现卡包现象,出现nfs: server 172.16.90.212 not responding, still trying错误


可修改使用如下命令:
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 虚拟机ip:/home/用户名/work/loadonboard /mnt
 nfs 的默认传输协议是 udp,而pc机与嵌入式系统通过upd交互时就会出现严重的网卡丢包现象。可用的解决方案是:在客户端改用tcp协议。


开发板可以通过NFC挂载虚拟机服务器上的文件夹,进行相应的开发~~



原创粉丝点击