赞
踩
此系列博客,仅对Xilinx平台PS端(ARM部分)开发做介绍,不对PL(FPGA)做过多介绍。
目录
petalinux-create --type project --template zynqMP --name "工程名"
例:创建名为 testDemo的工程
进入工程目录下,执行:
petalinux-config --get-hw-description xsa文件路径
这里的xsa文件是由硬件工程师通过vivado软件生成的硬件描述文件
新工程的编译可能非常耗时,因为编译时会从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完整包下载地址:
选择使用外部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
选择使用外部Linux源码
设置Linux外部源码位置
编译时临时的源码路径,以及生成的中间文件,镜像文件路径:
Petalinux工程/build/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/5.4+git999-r0/linux-xlnx-5.4+git999
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
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分区设置的一致
1.设置boot启动位置为SD/EMMC
2.设置Linux 内核启动位置为SD/EMMC
编译单个模块: petalinux-build -c u-boot/kernel/...
编译完成生成的文件
生成 DTB , FSBL, ATF, U-Boot, Linux kernel, rootfs, boot.scr等
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。