Zynq UltraScale+ MPSoC Linux启动及设计流程
一、MPSOC Linux启动流程:
Zynq UltraScale+ MPSoC
上电后,首先由 BootROM
对 zynq
设备进行初始启动,然后引导加载 fsbl
到 OCM
并启动 fsbl
;fsbl
启动后加载 PMU Firmware
,然后加载 ARM Trusted Firmware
,配置 DDR
,最后将 uboot
加载到 DDR
并启动 uboot
;uboot
启动后可选的加载 hypervisor
,并在hypervisor
上运行 linux
系统(一般不使用 hypervisor
),而是直接使用uboot
加载 linux
系统镜像到 DDR
并启动 linux
,至此整个 linux
系统启动完成。
二、MPSOC linux 设计流程:
1.通过vivado
创建硬件平台,得到xsa
文件;
2.运行 source <petalinux 安装路径>/settings.sh
,设置Petalinux
运行环境
3.通过petalinux-create -t project
创建 petalinux
工程;
4.使用petalinux-config --get-hw-description
,将xsa
文件导入到Petalinux
工程中并配置Petalinux
工程;
5.使用petalinux-config -c kernel
配置linux
内核;
6.使用 petalinux-config -c rootfs
配置linux
跟文件系统;
配置常用的工具如:CAN
的 iproute2
、I2C
的i2ctools
;进入Filesystem Packagse -->base -->iproute
下 选中iproute2
;
7.配置设备树文件,修改petalinux->project-spec->meta-user-recipes-bsp->files
下的system-user.dtsi
设备树文件;
8.使用petalinux-build
编译整个工程;
9.使用 petalinux-package --boot
制作BOOT.BIN
启动文件;
10.制作SD
卡启动卡,将BOOT.BIN
和image.ub
以及跟文件系统部署到SD
卡中;
11.将SD
卡插入开发板,并将开发板启动模式设置为从SD
卡启动;
12.开发板连接串口线并上电启动,串口上位机打印启动信息,登录进入Linux
系统。