当前位置:   article > 正文

【Xilinx】开发环境(三)- Petalinux构建工程,编译

petalinux

此系列博客,仅对Xilinx平台PS端(ARM部分)开发做介绍,不对PL(FPGA)做过多介绍。

目录

一. 构建Petalinux工程

1.1 创建工程

 1.2 导入硬件配置

二. 配置工程      

2.1 Yocto配置       

2.1.1 使用uboot本地源码

2.1.2 使用Linux本地源码

2.2 Linux基础配置

 2.3 Linux启动配置

2.3.1 QSPI启动配置

2.3.2 SD/EMMC启动     

 三. 编译

3.1 全部编译:petalinux-build

3.2 其他编译命令


一. 构建Petalinux工程

1.1 创建工程

         petalinux-create --type project --template zynqMP --name "工程名"

               例:创建名为 testDemo的工程

 1.2 导入硬件配置

            进入工程目录下,执行:

            petalinux-config --get-hw-description xsa文件路径

            这里的xsa文件是由硬件工程师通过vivado软件生成的硬件描述文件

二. 配置工程      

2.1 Yocto配置       

新工程的编译可能非常耗时,因为编译时会从xilinx官网下载很多需要的软件包建议将其下载至本地,配置为本地编译。

              1.在工程目录下执行 petalinux-config

              2.配置界面依次选择 Yocto Settings ---> Add pre-mirror url

              3将需要的文件下载至本地,并配置目录如下

 downloads完整包下载地址:Index of /sswreleases/rel-v2020

4. 配置界面依次选择 Yocto Settings ---> Local sstate feeds settings ---> local sstate feeds url

                     配置本地sstate-cache目录如下:

 在project-spec/meta-user/conf/petalinuxbsp.conf里添加

sstate-cache完整包下载地址:

下载Vivado, Vitis, Vitis Embedded Platform, PetaLinux, Device modelsicon-default.png?t=N7T8https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/embedded-design-tools.html

2.1.1 使用uboot本地源码

选择使用外部uboot源码

 设置外部源码位置

编译时临时的源码路径,以及生成的中间文件,镜像文件路径:

Petalinux工程/build/tmp/work/zynqmp_generic-xilinx-linux/u-boot-xlnx/v2020.01-xilinx-v2020.1+git999-r0/u-boot-xlnx-v2020.01-xilinx-v2020.1+git999

2.1.2 使用Linux本地源码

 选择使用外部Linux源码

 设置Linux外部源码位置

编译时临时的源码路径,以及生成的中间文件,镜像文件路径:

Petalinux工程/build/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/5.4+git999-r0/linux-xlnx-5.4+git999

2.2 Linux基础配置

1. 调试串口配置

执行petalinux-config,依次进入到串口配置界面

2. 内核启动参数配置

执行petalinux-config,依次进入到内核启动参数配置界面

取消勾选generate boot args automatically

并将启动参数配置为第二项所示

INITRAM挂载rootfs

 

 SD卡挂载rootfs

 

配置文件系统挂载在SD的/dev/mmcblk0p2中

注意:root=XXX 参数系统文件位置不对时,启动内核将会失败,报VFS找不到的错误

(1)配置无需输入密码自动登录

 (2)在相应选项中选中auto-login

其他配置参数

       petalinux-config

 2.3 Linux启动配置

2.3.1 QSPI启动配置

QSPI启动时,会去QSQPI Flash读取脚本,然后source执行脚本,所以必须保证下面的scriptaddr, script_offset_f, script_size_f 环境变量值与flash中的脚本的地址大小相同

 1.设置boot image和kernel image为primary flash

 2.配置flash分区

 

3.配置bootscr偏移地址和bootsrc大小

偏移地址 = boot大小 + bootenv大小 + kernel大小

4.修改project-spec/meta-user/recipes-bsp/u-boot/u-boot-zynq-scr.bbappend

       QSPI启动的kernel镜像偏移量和大小设置与flash分区设置的一致

 

 

2.3.2 SD/EMMC启动     

1.设置boot启动位置为SD/EMMC

 2.设置Linux 内核启动位置为SD/EMMC

 三. 编译

3.1 全部编译:petalinux-build

编译单个模块: petalinux-build -c u-boot/kernel/...

 编译完成生成的文件

生成  DTB , FSBL, ATF, U-Boot, Linux kernel, rootfs, boot.scr等

3.2 其他编译命令

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/172370
推荐阅读
相关标签
  

闽ICP备14008679号