1. 配置版本号低于20.1的流程

根据正点原子领航者教程(2020.2 版本)配置19.2版本linux系统,配置的文件缺乏boot.scr 文件(经过查阅Xilinx 官方 文档 UG1144 (v2019.1) 2019 年 5 月 22 日

PetaLinux 工具文档参考指南), 发现只有20以上版本才有boot.scr 文件。另外,按官方教程制作好的SD卡启动盘也不能正常启动。

       经过查阅文档发现,19 版本的配置流程略有不同。重新整理流程如下:

  1. 定位目录

先在shell中找一个准备存放工程的地方。

  1. 定位编译链

使用之前配置好的petalinux的环境变量: sptl

  1. 创建petalinux工程

将在petalinux目录下面,创建一个工程:

petalinux-create --type project --template zynq --name zynq_7020

zynq_7020是工程名,该命令会自动在当前文件夹里创建zynq_7020文件夹。

该步骤和之前20以上版本操作一致。

  1. 搭建硬件环境

新建工程,选择对应的芯片型号,并新建一个 BD 原理图文件(命名为system),然后添加一个ZYNQ Processing system的IP核,并设置好与硬件相符合的PS和PL时钟以及DDR型号。

为了使PetaLinux正常的运行,需要分配一些硬件外设资源:

  1. TTC模块(必须) ,如果有多个,Linux内核将会使用第一个。
  2. 外部32MB存储空间(必须) 
  3. UART模块(必须),控制台打印信息用,若用IP核的话,需中断信号连到PS
  4. 非易失存储器(可选),如:QSPI Flash,SD/MMC
  5. 以太网接口(可选),若用IP核或外部PHY的话,需中断信号连到PS

本次实验在硬件上,将在ZYNQ Processing system里启用TTC、UART、SD以及Ethernet(网口0在bank1,bank1电压要选1.8V,否则报错)

如图所示:

 然后右键单击 Block 文件,文件选择 Generate the Output Products,然后右键单击 Block 文件,选择 Create a HDL wrapper,根据 Block 文件内容产生一个 HDL 的顶层文件,并选择让 vivado 自动完成

 经Vivado综合,实现后,在Vivado中导出硬件,输出PetaLinux所需要的硬件描述文件。

  1. 引用刚才输出的硬件描述文件

把之前导出的硬件描述文件system_wrapper.hdf拷贝到虚拟机中的zynq_7020工程文件夹下,然后:

petalinux-config --get-hw-description

会进入一个配置界面,在里面我们可以配置一些系统参数,主要的配置包括:启动方式,启动存储器分区表,启动文件名称等等,本次暂不对其修改(默认是从SD卡中启动),然后等待其配置(时间较长)

  1. 编译u-boot

注意:到此处的时候,不能再用超级用户了,要切换到普通用户下,之后的所有操作都在普通用户下 。

      普通用户的shell中输入petalinux-config -c u-boot(依然要事先输入sptl命令),然后等待GUI出来,这里暂时不改动啥,直接save(save为u-boot.config,名字随便取但不要留空),然后继续等(新建工程要等的时间还是比较长的,后来再配置就会很快)。

       如图所示:

  1. 编译kernel

命令petalinux-config -c kernel,操作同上(savekernel.config

  1. 编译rootfs

命令petalinux-config -c rootfs,操作同上(save为默认即可)。

  1. 设备树配置

若要修改,直接在工程文件夹下,Ctr+F搜索.dts就可以找到相关文件,做出相应修改 本次实验默认不修改,按照它自动生成的设备树。

  1.  编译工程

输入命令petalinux-build,等待即可,最后生成的文件在 image/linux下。

  1.  生成BOOT.BIN

shell定位到image/linux目录下,执行命令:

petalinux-package --boot --fsbl zynq_fsbl.elf --fpga system_wrapper.bit --u-boot –force

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

在文件夹下就可以发现,多了一个BOOT.BIN。其中,system_wrapper.bit Vivado 生成的比特流文件(需要拷贝到当前文件夹内)。

  1. 制作 SD启动卡

跟之前流程一样,只需要将BOOT.BIN image.ub 拷到FAT32 BOOT 盘里即可。

  1. 开机

SD卡,插回,开机,串口打印信息为:

输入登录账号和密码即可登录。

成功登录系统。

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐