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

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等

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引导分区

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 《领航者Zynq之嵌入式Linux开发指南》PDF是一本专门介绍使用领航者Zynq系列产品进行嵌入式Linux开发的指南。该指南包含了使用Zynq芯片进行开发的详细步骤和技巧,帮助开发者快速入门和掌握嵌入式Linux开发的基本知识和技术。 首先,该指南详细介绍了Zynq芯片的基本架构和特点,包括双核ARM Cortex-A9处理器和可编程逻辑部分的组成和功能。通过了解Zynq芯片的架构,开发者可以更好地理解其在嵌入式系统中的应用和开发方法。 其次,该指南详细介绍了如何搭建嵌入式Linux开发环境。它介绍了交叉编译工具链的安装和配置,以及如何下载和配置Linux内核源码。通过这些步骤,开发者可以搭建一个完整的嵌入式Linux开发环境,为后续的开发工作做好准备。 该指南还介绍了如何使用Zynq芯片的可编程逻辑部分进行嵌入式系统的扩展和定制。它详细介绍了使用Verilog和VHDL等硬件描述语言进行逻辑设计的方法,以及如何将设计好的逻辑代码烧写到Zynq芯片中。通过这些内容,开发者可以利用Zynq的可编程逻辑部分实现更加灵活和定制化的嵌入式系统功能。 最后,该指南还介绍了一些嵌入式Linux应用开发的技巧和工具,如驱动开发、应用程序开发和调试方法等。它详细介绍了Linux设备模型、驱动框架以及应用程序开发的常用接口和库函数。通过掌握这些技巧和工具,开发者可以快速开发和调试嵌入式Linux应用程序。 总之,《领航者Zynq之嵌入式Linux开发指南》PDF是一本非常实用的嵌入式Linux开发指南,它详细介绍了使用Zynq系列产品进行开发的各个方面,对于嵌入式系统开发者来说是一本不可或缺的参考书。 ### 回答2: 《领航者Zynq之嵌入式Linux开发指南PDF》是一本用于指导嵌入式Linux开发的书籍。随着嵌入式系统的发展,使用Linux作为操作系统已成为一种趋势,而Zynq作为一款强大的嵌入式平台,能够在硬件加速和高性能计算方面提供强大的支持。 该指南主要包含以下内容: 1. 硬件概述:对Zynq平台的硬件架构进行详细介绍,包括处理器系统、可编程逻辑、外设接口等。通过了解硬件架构,开发人员可以更好地利用Zynq的功能。 2. 嵌入式Linux基础知识:介绍嵌入式Linux的基本概念,如内核、文件系统、设备树等。这些知识是进行嵌入式Linux开发的基础,帮助开发者理解和掌握Linux在嵌入式系统中的使用方法。 3. Zynq平台上的嵌入式Linux开发环境配置:指导如何在Zynq平台上搭建嵌入式Linux开发环境,包括交叉编译工具链的配置、文件系统的构建和烧写等。 4. 嵌入式Linux应用开发:详细介绍如何在Zynq平台上进行应用程序的开发,包括驱动程序的编写、网络和通信的应用等。 5. 调试技巧和故障排除:指导如何使用调试工具和技巧进行嵌入式Linux应用开发中的故障排除和调试工作。 通过这本指南,读者能够快速掌握在Zynq平台上进行嵌入式Linux开发所需的知识和技能。它不仅适用于有一定嵌入式开发经验的工程师,也适合那些对嵌入式Linux开发感兴趣的学习者。 ### 回答3: 《领航者zynq之嵌入式linux开发指南》是一本专门介绍使用领航者zynq芯片进行嵌入式Linux开发的指南。该指南包含了丰富的内容,对于想要使用zynq芯片进行嵌入式开发的工程师和学习者来说是一本非常有价值的参考书。 首先,该指南详细介绍了zynq芯片的基本架构和特性。zynq芯片是一种联合设计的产品,结合了硬件FPGA和ARM处理器的优势。通过了解zynq芯片的架构,开发者可以更好地理解如何使用这个特殊的硬件平台进行嵌入式开发。 其次,该指南详细介绍了如何配置和启动嵌入式Linux操作系统。这里包括了在zynq芯片上运行Linux系统所需的各种操作和设置,例如引导加载程序(Bootloader)的设置、系统初始化脚本的编写等。这些内容对于初学者来说非常有帮助,可以帮助他们快速上手嵌入式Linux开发。 另外,该指南还详细介绍了如何开发和调试嵌入式Linux应用程序。通过使用zynq芯片上的ARM处理器和FPGA硬件资源,开发者可以编写功能丰富的嵌入式应用程序。该指南通过实例代码和实际操作步骤的描述,帮助开发者学习如何使用Linux工具链进行应用程序的编译和调试。 总的来说,《领航者zynq之嵌入式Linux开发指南》是一本非常实用的指南,对于想要使用zynq芯片进行嵌入式Linux开发的人来说是一本必备的参考书。无论是对于初学者还是有一定经验的开发者来说,这本书都提供了丰富的内容和实例,帮助他们更好地进行嵌入式Linux开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小灰灰的FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值