配置版本号低于20.1的petalinux流程
- 配置版本号低于20.1的流程
根据正点原子领航者教程(2020.2 版本)配置19.2版本linux系统,配置的文件缺乏boot.scr 文件(经过查阅Xilinx 官方 文档 UG1144 (v2019.1) 2019 年 5 月 22 日
PetaLinux 工具文档参考指南), 发现只有20以上版本才有boot.scr 文件。另外,按官方教程制作好的SD卡启动盘也不能正常启动。
经过查阅文档发现,19 版本的配置流程略有不同。重新整理流程如下:
- 定位目录
先在shell中找一个准备存放工程的地方。
- 定位编译链
使用之前配置好的petalinux的环境变量: sptl
- 创建petalinux工程
将在petalinux目录下面,创建一个工程:
petalinux-create --type project --template zynq --name zynq_7020
zynq_7020是工程名,该命令会自动在当前文件夹里创建zynq_7020文件夹。
该步骤和之前20以上版本操作一致。
- 搭建硬件环境
新建工程,选择对应的芯片型号,并新建一个 BD 原理图文件(命名为system),然后添加一个ZYNQ Processing system的IP核,并设置好与硬件相符合的PS和PL时钟以及DDR型号。
为了使PetaLinux正常的运行,需要分配一些硬件外设资源:
- TTC模块(必须) ,如果有多个,Linux内核将会使用第一个。
- 外部32MB存储空间(必须)
- UART模块(必须),控制台打印信息用,若用IP核的话,需中断信号连到PS
- 非易失存储器(可选),如:QSPI Flash,SD/MMC
- 以太网接口(可选),若用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所需要的硬件描述文件。
- 引用刚才输出的硬件描述文件
把之前导出的硬件描述文件system_wrapper.hdf拷贝到虚拟机中的zynq_7020工程文件夹下,然后:
petalinux-config --get-hw-description
会进入一个配置界面,在里面我们可以配置一些系统参数,主要的配置包括:启动方式,启动存储器分区表,启动文件名称等等,本次暂不对其修改(默认是从SD卡中启动),然后等待其配置(时间较长)
- 编译u-boot
注意:到此处的时候,不能再用超级用户了,要切换到普通用户下,之后的所有操作都在普通用户下 。
普通用户的shell中输入petalinux-config -c u-boot(依然要事先输入sptl命令),然后等待GUI出来,这里暂时不改动啥,直接save(save为u-boot.config,名字随便取但不要留空),然后继续等(新建工程要等的时间还是比较长的,后来再配置就会很快)。
如图所示:


- 编译kernel
命令petalinux-config -c kernel,操作同上(save为kernel.config)

- 编译rootfs
命令petalinux-config -c rootfs,操作同上(save为默认即可)。
- 设备树配置
若要修改,直接在工程文件夹下,Ctr+F搜索.dts就可以找到相关文件,做出相应修改”。 本次实验默认不修改,按照它自动生成的设备树。
- 编译工程
输入命令petalinux-build,等待即可,最后生成的文件在 image/linux下。
- 生成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 生成的比特流文件(需要拷贝到当前文件夹内)。
- 制作 SD启动卡
跟之前流程一样,只需要将BOOT.BIN 和 image.ub 拷到FAT32 的BOOT 盘里即可。
- 开机
将SD卡,插回,开机,串口打印信息为:

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

成功登录系统。

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


所有评论(0)