ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

ZYNQ开发(七)Linux开发之Petaliunx的设计流程(SD卡启动)

2021-12-14 12:58:35  阅读:299  来源: 互联网

标签:文件 -- 分区 boot 指令 ZYNQ Linux Petaliunx petalinux


1、创建Vivado硬件平台
①在Windows系统下使用Vivado生成项目工程,生成.SDK后缀的文件
②创建了一个名为petalinux的目录,并在petalinux目录下创建了hdf目录用于存放这个sdk文件夹,将sdk文件夹拷贝到用户节目路下的petalinux/hdf目录
在这里插入图片描述
2、设置Petalinux环境变量
指令:source /opt/pkg/petalinux/2018.3/settings.sh
或者 指令: sptl (echo “alias sptl=‘source $PETALINUX/settings.sh’” >> ~/.bashrc)
//输入sptl就可以设置Petalinux的环境变量
在这里插入图片描述
3、创建petalinux工程
指令:petalinux-create -t project --template zynq -n Linuxclass1_ZYNQ
创建一个名为“Linuxclass1_ZYNQ”的Petalinux工程,
template参数表明创建的petalinux工程使用的平台模板,
此处的zynq表明使用的是zynq平台模板的petalinux工程,用于zynq-7000系列的芯片。
name参数(此处简写为“-n”)后接的是petalinux工程名,如此处的“Linuxclass1_ZYNQ”。
在这里插入图片描述
4、配置petalinux工程
4.1 petealinux-config
指令:cd ALIENTEK-ZYNQ /进入到petalinux工程目录下
指令:petalinux-config --get-hw-description …/hdf/Navigator_7020.sdk/ //导入hdf文件
在这里插入图片描述
在这里插入图片描述

4.2 Linux Components Selection
括号里的“*”表示为已使能配置。
第一项是程序固化实验中的fsbl.elf文件。
第二项是自动更新ps_init。
第三项是配置u-boot的来源。
第四项是linux-kernel的来源。
在这里插入图片描述
4.3 Auto Config Settings
Auto Config Settings指的是:选择是否使能fsbl、Devicetree、Kernel和u-boot的自动配置
在这里插入图片描述
4.4 Subsystem AUTO Hardware Settings
根据hdf文件的信息自动配置的各个外设,基本上为默认设置。
“Serial Settings”配置项用于配置开发板的调试串口和串口波特率等参数。
在这里插入图片描述
在这里插入图片描述

4.5 Advanced bootable images storage Settings
配置启动引导镜像和内核镜像的存储媒介
在这里插入图片描述
5、配置Linux内核
指令:petalinux-config -c kernel
在这里插入图片描述
6、配置Linux根文件系统
指令:petalinux-config -c rootfs
在这里插入图片描述
7、配置设备树文件
//使用vi命令打开system-user.dtsi文件,如下所示:
指令:vi project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi
在这里插入图片描述
8、编译Petalinux工程
指令:petalinux-build
//该命令将生成设备树DTB文件、fsbl文件、U-Boot文件,Linux内核和根文件系统映像。
编译完成后,生成的映像将位于工程的images目录下
在这里插入图片描述
9、制作BOOT.BIN启动文件
petalinux-package --boot命令生成可引导映像,该映像可直接与Zynq系列设备(包括Zynq-7000和Zynq UltraScale + MPSoC)或基于MicroBlaze的FPGA设计一起使用。对于Zynq系列设备,可引导格式为BOOT.BIN,可以从SD卡引导。对于基于MicroBlaze的设计,默认格式为MCS PROM文件,适用于通过Vivado或其他PROM编程器进行编程
ZYNQ的启动文件BOOT.BIN一般包含fsbl文件、bitstream文件和uboot文件。
使用下面命令可生成BOOT.BIN文件:
指令:petalinux-package --boot --fsbl --fpga --u-boot --force
petalinux-package命令将PetaLinux项目打包为适合部署的格式,
其中“petalinux-package --boot”命令生成可引导映像
选项“–fsbl”用于指定fsbl镜像文件所在位置,后面接文件对应的路径信息,
如果不指定文件位置,默认对应的是images/linux/zynq_fsbl.elf;
选项“–fpga”用于指定bitstream文件所在位置,后面接该文件对应的路径信息,
默认对应的是images/linux/system.bit;
选项“–u-boot”用于指定U-Boot镜像所在位置,后面接该文件所在路径信息,
默认为images/linux/u-boot.elf。
在这里插入图片描述
10、制作SD启动卡
SD卡引导linux系统启动,一般需要在SD卡上有2个分区。一个分区使用FAT32文件系统,用于放置启动镜像文件(如BOOT.BIN,linux镜像等),另一分区使用EXT4文件系统,用于存放根文件系统
格式化SD卡
sudo mkfs.ext3 /dev/sdb -L LABEL2
将SD卡插入到读卡器中、并将读卡器插入电脑并连接到Ubuntu系统
指令:umount /dev/sdb*
指令:sudo fdisk /dev/sdb
输入“p”执行
新分区之前需要将以前的分区删除,键入“d”,删除该分区
开始新建分区。输入“n”创建一个新分区
通过选择’p’使其为主,使用默认分区号1和第一个扇区2048
设置最后一个扇区,通过输入“+100M”,为该分区预留100MB
在这里插入图片描述
设置分区类型,输入“t”,然后输入“c”,设置为“W95 FAT32 (LBA)”
输入“a”,设为引导分区
在这里插入图片描述
通过键入“n”来创建根文件系统分区,重复上述动作
输入“p”检查分区表,会看到刚刚创建的2个分区
如果没问题,键入“w”以写入到SD卡并退出
在这里插入图片描述
格式化分区:
指令:sudo mkfs.vfat -F 32 -n boot /dev/sdb1 //第一个分区格式化成FAT32分区并命名为boot
指令:sudo mkfs.ext4 -L rootfs /dev/sdb2 //将第二个分区格式化成ext4分区并命名为rootfs
在这里插入图片描述

将生成的BOOt.BIN文件和image.ub文件拷贝到SD卡的boot引导分区

标签:文件,--,分区,boot,指令,ZYNQ,Linux,Petaliunx,petalinux
来源: https://blog.csdn.net/m0_50111463/article/details/121924767

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有