在zynqMP上运行linux

运行环境

  • vivado2021.1
  • petalinux2021.1
  • 开发板为ZYNQ MPSOC的zu15eg:xczu15eg-ffvb1156-2-i
  • Ubuntu18.04

安装过程

  1. 环境:
    使用与vivado相同版本的petalinux,在vivado bd中生成zynq,配置DDR,并且开启其他必要的配件,导出xsa到petalinux中作为硬件环境。petaliux的安装参考ug1144。
    开启ps的串口
    开启ps的sd卡控制器

  2. 安装过程

从模板创建一个petaliunx工程

petalinux-create -t project --template zynqMP -n peta_test

读取xsa文件配置petalinux工程

petalinux-config --get-hw-description /home/gsy/xsa/

可能会出现下面错误,将终端全屏即可,此错误为窗口太小导致gui无法加载

gsy@gsy:~/fpga_prj/peta_test$ petalinux-config --get-hw-description /home/gsy/xsa/
[INFO] Sourcing buildtools
INFO: Getting hardware description...
INFO: Renaming system_wrapper.xsa to system.xsa
[INFO] Generating Kconfig for project
[INFO] Menuconfig project
ERROR: Failed to menu config project component 
ERROR: Failed to config project.
ERROR: Get hw description Failed!. Check the /home/gsy/fpga_prj/peta_test/build/config.log file for more details...

正确进入系统配置界面如下,各个选项的作用参考ug1144,选择Imaging packaging configuration选项
在这里插入图片描述
选择 INITRAMFS
在这里插入图片描述
保存并且退出

配置linux内核

petalinux-config -c kernel

设置保持默认,退出
在这里插入图片描述

配置 Linux 根文件系统

petalinux-config -c rootfs

在这里插入图片描述

配置设备树:
(挖坑-待研究)

编译petalinux工程

petalinux-build

制作BOOT.BIN启动文件

petalinux-package --boot --fsbl --fpga --u-boot --force

到此工程制作完成

制作SD启动卡并且上板运行

插入sdk并且连接到虚拟机上的Ubuntu,查看sd卡名

sudo fdisk -l

在这里插入图片描述
进入磁盘管理工具
在这里插入图片描述
按下p打印磁盘信息
按下d删除分区,将两个分区删除。下面开始新建分区。输入“n”创建一个新分区。通过选择’p’使其为主,使用默认分区号1 和第一个扇区 2048。设置最后一个扇区,也就是设置第一个分区的大小,一般设置 500M 足够了,通过输入“+ 500M”,为该分区预留 500MB。
设置分区类型,输入“t”,然后输入“c”,设置为“W95 FAT32 (LBA)“
新建第二个分区,按下p使其成为主分区,一路回车将剩余空间全部分给分区2
在这里插入图片描述

分区 #2 包含一个 ext4 签名。
所以这意味着在这个分区上有EXT4文件系统
在这里插入图片描述
最终设置分区如下:
在这里插入图片描述

按下w写入并且退出

从prj_name/images/linux中分别拷贝rootfs.tar.gz解压到rootfs分区中
拷贝boot.src、BOOT.BIN和image.ub到分区boot中

在这里插入图片描述
在这里插入图片描述
将sd卡插入开发板并且将开发板设置为sd卡启动模式。连接好串口,设置好uart的参数,点亮开发板,运行如下:

U-Boot 2021.01 (Jun 01 2021 - 11:54:06 +0000)

Board: Xilinx ZynqMP
DRAM:  4 GiB
PMUFW:	v1.1
EL Level:	EL2
Chip ID:	zu15eg
NAND:  0 MiB
MMC:   mmc@ff170000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Bootmode: SD_MODE1     //SD启动模式
Reset reason:	EXTERNAL 
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
2594 bytes read in 13 ms (194.3 KiB/s)
## Executing script at 20000000
Trying to load boot images from mmc0
14514068 bytes read in 945 ms (14.6 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf-system-top.dtb' configuration
   Trying 'kernel-1' kernel subimage
     Description:  Linux kernel
     Created:      2021-06-04  15:57:16 UTC
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x100000f8
     Data Size:    9356113 Bytes = 8.9 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x00080000
     Entry Point:  0x00080000
     Hash algo:    sha256
     Hash value:   7224bf7e3ef2d3fbf8a59459151e4b164ec500c88bb93959c67a1f8b5ceb1efa
   Verifying Hash Integrity ... sha256+ OK
## Loading ramdisk from FIT Image at 10000000 ...
   Using 'conf-system-top.dtb' configuration
   Trying 'ramdisk-1' ramdisk subimage
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值