2019.9.4 Xilinx FPGA Zynq petaLinux 保留内存并制作BOOT.BIN、uimage 及文件系统

本文参考: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841683/Linux+Reserved+Memory
如有错误之处还请不吝赐教!
软件版本:Vivado 2018.2 ,petalinux 2018.2,Ubuntu 16.04
1、安装petalinux 2018.2 和 Vivado 2018.2
petalinux安装教程:https://blog.csdn.net/leon_zeng0/article/details/82766472
Vivado 2018.2安装教程:https://blog.csdn.net/q774318039a/article/details/86603812
2、准备工作
设置petalinux和交叉编译工具链在命令窗口输入:
source /opt/pkg/petalinux/settings.sh
source /opt/Xilinx/Vivado/2018.2/settings64.sh

复制vivado 项目中生成的.sdk到指定路径(如何生成sdk,https://blog.csdn.net/long_fly/article/details/78727813)
3、创建工程以及更改设备树设置保留内存
创建工程:petalinux-create -t project -n prj_resmem --template zynq
然后
cd prj_resmem /project-spec/meta-user/recipes-bsp/device-tree/files/
更改 system-user.dtsi为:

/include/ "system-conf.dtsi"
/ {
	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		reserved: buffer@0x10000000 {
			 no-map;
			 reg = <0x10000000 0x10000000>;
		};
	};

	reserved-driver@0 {
		compatible = "xlnx,reserved-memory";
		memory-region = <&reserved>;
	};
	
};

设置地址 (base address 0x1000_0000, size 0x1000_0000 )
4、通过.sdk配置环境
petalinux-config --get-hw-description DIR_where_you_put_the_design_1_wrapper.sdk
2019.9.4 Xilinx FPGA Zynq petaLinux 保留内存并制作BOOT.BIN、uimage 及文件系统_第1张图片
配置SD卡启动 Image packaing configration–>file system type or rootfs–> SD card
5、进一步配置和编译项目
*编译项目并生成BOOT.BIN
petalinux-build
petalinux-package -boot --fsbl image/linux/zynq_fsbl.elf --fpga --u-boot --force
需要使用:BOOT.BIN, image.ub and rootfs.cpio. 三个文件
2019.9.4 Xilinx FPGA Zynq petaLinux 保留内存并制作BOOT.BIN、uimage 及文件系统_第2张图片
6、SD卡化分区以及解压文件系统
*将SD卡化分区为:FAT和EXT4
*将BOOT.BIN, image.ub拷贝到FAT
*将rootfs.cpio拷贝到EXT4并解压
sudo pax -rvf rootfs.cpio
7、最后启动我们的系统

你可能感兴趣的:(FPGA,嵌入式linux)