随记

看韦东山视频,没有按照其提供的虚拟机环境,用的是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.bz2
cd u-boot-1.1.6
patch -p1 < ../u_boot_1.1.6_jz2440.patch
make 100ask24x0_config
make

其中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.bz2
cd linux-2.6.22.6
patch -p1 < ../linux-2.6.22.6_jz2440.patch
cp config_ok .config//也可以去查找+defconfig*查看有没有默认配置,有的话可以用,此处其提供有config_ok
make 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挂载虚拟机服务器上的文件夹,进行相应的开发~~



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值