问答
直播中

blackroot

9年用户 106经验值
擅长:嵌入式技术 存储技术 EDA/IC设计 处理器/DSP
私信 关注

【Z-turn Board试用体验】+NFS挂载二

本帖最后由 blackroot 于 2015-8-16 17:05 编辑

接前面的章节:
这段时间一直很忙,但是保持每周更新一下帖子,给自己一个交代吧
-------------------------------------up   up  up-----------------------------------------

1、在xilinx SDK中基于光盘中的工程mys_xc7z010_trd创建启动镜像BOOT.bin,包括三个文件用于创建镜像,这三个文件是f***l.elf mys_xc7z010_trd.bit u-boot.elf
2、将BOOT.bin用SDK工具烧进QSPI flash。

3.选择从flash启动,重新给板子上电,打开minicom,敲击键盘使u-boot启动终止

4、配置linux kernel,按照网上的方法:
内核支持NFS分区(即编译时在File system中选中 Root file system on NFS),
以及支持内核IP_PNP(即编译时在Networking中选中 IP: kernel level autoconfiguration)
    File systems  --->
        Network File Systems  --->
            <*> NFS file system support                        ## 必选
                  Provide NFSv3 client support             ## 可选
            Root file system on NFS                        ## 必选
    Networking  --->
        Networking support
            Networking options  --->
                  IP: kernel level autoconfiguration       ## 必选
需要打开IP:Kernel level autoconfiguration 以及下面所有的选项包括DHCP, BOOTP, RARP,而且NFS Client Support不能是模块,必须编译进内核
5、编译内核:make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- uImage
6.生成zynq-zturn.dtb:make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- dts
7、将zynq-zturn.dtb重命名为devicetree.dtb
8、搭建tftp nfs调试环境(这两个服务器测试完全没有问题,完全能正常使用)
9、将uImage devicetree.dtb拷贝到tftpboot目录下。
10、安装busybox,安装没问题,自己手动制作一个简单的文件系统,并放在共享目录下面。
11、设置开发板和PC虚拟机在同一网段,并采用桥接方式,可以ping通
12、设置启动变量
setenv bootargs 'noinitrd console=ttyPS0,115200 root=/dev/nfs rw earlyprintk nfsroot=192.168.1.13:/opt/myrootfs ip=192.168.1.55:192.168.1.13:192.168.1.1:255.255.255.0:ubuntu:eth0:off'
13、用tftp的方式将内核我设备树文件下载到DDR对应的地址
14、bootm kernel_addr  devicetree_addr


另外也可以不采用tftp的方式:
setenv bootargs 'noinitrd console=ttyPS0,115200 root=/dev/nfs rw earlyprintk nfsroot=192.168.1.13:/opt/myrootfs ip=192.168.1.55:192.168.1.13:192.168.1.1:255.255.255.0:ubuntu:eth0:off'
setenv bootcmd 'tftp 0x2000000 devicetree.dtb;bootm 0x2000000';'tftp 0x2080000 uImage;bootm 0x2080000'
bootm kernel_addr  devicetree_addr
结果图片如下:
1.jpg
2.png
3.png




-------------------------------no zuo no die why you try----------------------------------------------
这里为了验证挂载的正确性,在linux里面编译hello.c用嵌入式编译器arm-xilinx-linux-gnueabi-gcc编译生成hello可执行文件文件,放在共享目录里面。
----------------------------我完美的黄金分割线-------------------------------------------------------
首先在linux下面执行,提示如下
5.png
所以只能在板子上执行!!!!!!
然后在板子上执行./hello ,结果如下:
4.png
时间有限,敬请指正错误!!!!!!!
后续有时间开始上层软件开发。。。。。。。。


回帖(1)

梦醒没你

2016-3-31 17:19:54
这个看起来很屌呀,不知道除了这种配置方法之外,还有没有其他的配置方法
举报

更多回帖

发帖
×
20
完善资料,
赚取积分