1785-L30B E
发布时间:2019-03-05 14:44:38点击率:
创建设备树
(1)(注意这是linux-xlnx/arch/arm/boot/dts/目录下存在的dts文件才可以生成dtb文件,以下以zedboard为例)在Linux源代码目录下(我的是“/home/ds/build/linux-xlnx-xilinx-v2015.1”), 编译目标为”dtbs”时会把所有的dts文件编译成dtb文件,所有的dts文件和生成的dtb文件都位于linux-xlnx/arch/arm/boot/dts/目录下
cd 到linux-xlnx-xilinx-v2015.1下
make ARCH=arm dtbs
zynq-zed.dtb是我们需要的文件,改名为devicetree.dtb
如果只想生成zynq-zed.dtb,在linux源代码根目录输入以下命令即可
make ARCH=arm zynq-zed.dtb
或者用设备树编译器对dts文件进行编译生成:
apt-get install device-treepiler
cd /home/ds/build/linux-xlnx-xilinx-v2015.1/arch/arm/boot/dts
dtc -O dtb -I dts -o zynq-zed.dtb zynq-zed.dts
——但是里面没有我们想要的zynq-microzed.dts文件,因此只能用别的方法,这里介绍是为了给用其他开发板的读者带来方便
(2)从步骤六可以下载到microzed_7010_7020_petalinux_SD_images ,里面有devicetree_microzed_2014_4.dts,可以生成。
也可以用Vivado创建一个Microzed的项目生成比特流后导入到SDK,File—>New—>Board Support Package—>Board Support Package OS : device-tree—>Finish命令—->在弹出的Setting对话框中,设置bootargs的Value值为:console=ttyPS0,115200 root= /dev/ram/ rw earlyprintk—>在console device的Value下拉菜单中选择ps7_uart_1,单击OK按钮。(这里的bootargs参数是内核的命令行参数,在内核启动阶段,这些参数被传递给内核。这里root= /dev/ram 指的是内核从内存启动文件系统,U-boot将uramdisk.image.gz加载到内存后将其内存地址传递给内核,内核就知道该从什么地方运行文件系统了。但是我们知道Zedboard上的内存只有512M,况且uramdisk.image.gz 大只能到32M,那么当在构建较大的系统时该怎么办呢?解决这一问题有两种方法, 个仍然使用uramdisk.image.gz作为文件系统,然后将需要加载到用户系统文件放到FAT分区中,当操作系统启动后,将FAT分区挂载到系统中,然后进行相应的访问。第二种方法则是将文件系统放到SD卡的EXT分区中就像 章中启动linaro_ubuntu桌面系统一样,这里 需要修改的是将这里的启动参数root=/dev/ram改为root=/dev/mmcblk0p2。)——>编译结束后,device-tree_bsp_0/ps7_cotexa9_0/libsrc/device-tree_v0_00_x目录下可以看到xilinx.dts文件生成。这里的xilinx.dts不是 的,如果在Zedboard上使用还要根据实际的情况修改, 找到已经修改好的xup_zed.dts,该文件对ethe的mdio参数进行修改。
1785-L30B E
生成uramdisk.image.gz
(1)在+and+Modify+a+Rootfs下载arm_ramdisk.image.gz(该网址也有过程)
(2)在build目录中:mkdir filesys ,cd filesys, 把arm_ramdisk.image.gz 放到filesys目录中
(3)cp arm_ramdisk.image.gz ramdisk.image.gz
(4)gunzip ramdisk.image.gz
(5)mkdir file_tmp
(6)sudo mount ramdisk.image -o loop ./file_tmp/(或者sudo mount -o loop ramdisk.image file_tmp)
(7)此时文件系统已经挂载到了film_tmp目录中,你可以到film_tmp目录中对文件系统进行相应的修改。修改完后将文件系统umount并重新压缩即可。这里如果你要制作EXT文件系统,则只需要将SD卡插到PC机中,并将file_tmp文件夹的内容复制到SD卡的EXT分区中即可。
(8)sudo umount file_tmp/
(9)gzip ramdisk.image
(10)sudo apt-get install u-boot-tools
(11)mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz
输出:
Image Name:
Created: Tue Jul 19 17:32:31 2016
Image Type: ARM Linux RAMDisk Image (gzippressed)
Data Size: 5310073 Bytes = 5185.62 kB = 5.06 MB
Load Address: 00000000
Entry Point: 00000000



