ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2

读懂 PetaLinux:让 Linux 在 Zynq 上轻松起“跑”(转) 对于Zynq这样一个“ARM+可编程逻辑”异构处理系统我们已经不陌生,其创新性大家也有目共睹。不过想要让更多的应用享受到这一“创新”带来的红利,让其真正“落地”则需要大量系统性的工作,去营造一个完善的生态系统。从之前几篇文章中,我们已经看到Xilinx在这方面做出的努力,特别是不断迭代的先进的硬件开发(Vivado)和软件开发(Xilinx SDK)工具。而在嵌入式开发中,还有一个非常重要的环节需... 阅读详情
AI摘要

本文详细介绍了如何从零开始搭建Petalinux2018.2环境,包括安装步骤、硬件配置、软件编译及烧录过程。涵盖了依赖包安装、vivado工程创建、fsbl生成、petalinux工程配置等关键环节。

Petalinux 2018.2安装

之前使用的是2017.4,现在把petalinux升级到了2018.2的版本,后面的都是根据这个版本操作的。

Step1:下载文件

下载petalinux-v2018.2-final-installer.run,大小:6.6G,并且拷贝到/home文件夹下

Step2:安装依赖包

详情参考UG1144

Step3:安装petalinux

我这里是安装到home文件夹下,先给home文件夹权限。然后新建xilinx文件夹

sudo chmod 777 /home
cd /home
mkdir xilinx

之前的安装文件已经到拷贝到/home文件夹了,然后执行:

./petalinux-v2018.2-final-installer.run /Xilinx

导入硬件配置

Step1:新建vivado工程

  1. Vivado中新建工程,选择7015平台,按照设计电路选择需要的PS接口
    以我的设计电路为例:
    QSPI FLASH :16MB
    I2C1  LIS2DS
    I2C0  TEMPRATURE SENS
    CAN0
    CAN1
    UART0  DEBUG
    UART1
    GPIO
    SD0  SDIO WIFI
    SD1  8GB EMMC
    USB0
    ENET0,ENET1没用到
  2. 配置DDR,我这里用1G的DDR
  3. 依次执行Create HDL Wrapper > Generate Output Product > Generate Bitstream,执行完成后,将bit导出并且launch SDK

Step2:生成fsbl

  1. 在SDK中选择新建project,然后选择下图所示Zynq_FSBL
    在这里插入图片描述
  2. 点击Finish完成新建,等待编译完成即可生成fsbl.elf可执行文件

Step3:新建petalinux工程

在SDK文件夹下的有个.hdf后缀的文件,把这个文件拷贝到ubuntu的/home/petalinux-project下,petalinux-project是我新建的文件夹用来放petalinux的工程。

配置petalinux环境变量,创建myproject工程,导入在vivado中生成的HDF文件

#配置环境变量
source /home/xilinx/settings.sh
cd /home/petalinux-project
#生成myproject工程
petalinux-create -t project -n myproject --template zynq
cd myproject
#导入HDF文件
petalinux-config --get-hw-description=/home/petalinux-project

配置并编译

Step1:外设选择

取消fsbl选项
取消FSBL选项
选择uart0作为终端输出的串口
存储设备是挂在sd1上的

Step2:选择boot存储位置

在这里插入图片描述

Step3:选择kernel存储位置

在这里插入图片描述

Step4:取消tftpboot选项

在这里插入图片描述

Step5:编译

#编译petalinux
petalinux-build

生成并烧录

Step1:生成boo.bin

  1. 将生成的u-boot.elf,image.ub拷贝到windows下
  2. 与fsbl.elf共同生成一个boot.bin
  3. 在SDK中选择Create Boot Image,按照fsbl.elf,*.bit,u-boot.elf,image.ub的顺序加入到列表中,其中image.ub的offset输入0x520000
    4.
    点击生成boot.bin文件。 我这里生成了一个16.4m的boot.bin
    最后通过下载器烧写qspi flash,启动就可以看到打印了。
    用户名密码都是root:
    在这里插入图片描述
    成功登陆。

注意事项

  1. 在最后生成boot.bin的时候选择的offset的位置可以更改,在petalinux-config中我们可以修改每个部分的存放位置,从下图可以看出0-5M的位置存放的是boot(5M),5M-5.125M的位置存放bootenv(128KB),5.125M-15.625M存放kernel(10.5M),剩下的没用到
    2.
  2. 如果需要打印fsbl的调试信息,可以在fsbl所依赖的Standalone bsp中的串口输出选择uart0,这里是根据实际使用的串口更改的,如果用其他的可以自行更改。
    在这里插入图片描述
    在fsbl工程中的fsbl_debug.h中加入如下语句就可以看到打印了:
	#define FSBL_DEBUG_INFO

有问题可以留言或者发邮件到839089604@qq.com

ZYNQ学习之Petalinux 设计流程实战 要想在 Zynq-7000 SoC 中搭建运行 Linux,需先简单的了解下其嵌入式软件栈,如下图所示:第一个阶段:内部BootROM内部 BootROM,它存储 stage-0 的引导代码。BootROM 在 CPU 0 上执行,CPU 1 执行等待事件(WFE)指令。BootROM 还配置必要的外围设备,以开始从其中一个引导设备获取第一阶段引导加载程序 (FSBL)引导代码。可编程逻辑(PL)不是由 BootROM 配置的。第二个阶段: FSBL引导代码。 阅读详情

相关推荐

使用Petalinux定制自己的linux系统

使用Petalinux定制自己的linux系统(linux三大件)简介Petalinux设计流程1.设置petalinux运行的环境变量2.创建 petalinux 工程3.配置 petalinux 工程4.配置linux内核5.配置linux根文件系统6.配置设备树7.编译工程8.制作zynq的启动文件BOOT.BIN9.成功启动linux! 简介 zynq是xilinx推出的一款集成arm核以及fpga可编程逻辑器件的soc芯片,使得它不仅拥有 ASIC 在能耗、性能和兼容性方面的优势,而且具有FPGA

small_po_kid的博客 1万+

嵌入式Linux_Petalinux一——FPGA学习笔记<?>

Petalinux 工具是 Xilinx 公司推出的嵌入式 Linux 开发套件,包括了u-boot、Linux Kernel、 device-tree、rootfs 等源码和库,以及,可以让客户很方便的生成、配置、编译及 自定义 Linux 系统。Petalinux 支持 Versal 、Zynq UltraScale+ MPSoC、Zynq-7000 SoC 以及 MicroBlaze,可与 Xilinx 硬件设计工具 Vivado 协同工作,大大简化了 Linux 系统的开发工作。

qq_32971095的博客 5908

petalinux编译zynq的linux

 首先要在vivado里建立工程。工程建立完成  一般流程  综合,实现,比特流综合后如果有引出的模块要分配外接的管脚。生成比特流后导入到SDK就可以了这时候工程已经有bit流文件 和hdf硬件顶层设计文件。source一下petalinux的环境使用petatlinux建立工程,petalinux-creat  --type project --template zynq --new 文件名就会...

sinat_36371321的博客 2045

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

Xilinx开发,ARM开发,嵌入式,Linux开发

顶级小学生 4857

ZYNQ7045从flash启动linux

Xilinx系列ZYNQ7045芯片ps端软件工程师linux系统从flash启动的环境搭建和配置

Yan_uuu的博客 3533

告别SD卡!手把手教你配置ZYNQ M7030板卡从EMMC+QSPI Flash启动Linux(Vivado 2018.3 + Petalinux)

本文详细介绍了如何配置ZYNQ M7030板卡从EMMC+QSPI Flash启动Linux的完整流程,包括开发环境准备、启动介质配置、内核与根文件系统定制、系统编译与部署等关键步骤。通过Xilinx Vivado 2018.3和Petalinux工具链,实现稳定可靠的嵌入式系统启动方案,适用于工业设备等长期运行场景。

weixin_42532938的博客 456

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34242658的博客 105

ZYNQ petalinux将系统启动文件固化到EMMC

2.根据分区,修改petalinux-config ---> u-boot Configuration ---> u-boot script configration。ubuntu20.04安装后没有wifi,网卡为intel AX201,删除/usr/lib/firmware中的iwlwifi-ty-a0-gf-a0.pnvm。然后将image.ub使用cp指令拷贝进 /mnt/mmcFat即可,也就是把uImage 拷贝到 /dev/mmcblk1p1;--可以设置为128MB。

wangjie36的博客 1万+

zynq操作系统:petalinux的编译使用(上)官方推荐篇

常规环境下petalinux的使用(xilinx官方推荐篇) 一.最小系统的构建 整个开发流程如下,不一定每一步都要执行。 通过 Vivado 创建硬件平台,得到 hdf 硬件描述文件; 运行 source <petalinux 安装路径>/settings.sh,设置 Petalinux 运行环境(在安装篇已经设置了别名,可以相对简单了) 确定一个工作目录,通过 petalinux-create -t project 创建 petalinux 工程; petalinux-create -t

同步更新https://blog.must-xin.com/,内容转载请联系作者本人 1万+

支付逻辑漏洞的八大姿势(上篇)

学习支付漏洞,看这篇文章!!!文章来源:SecHub网络安全社区(本资料仅供学习参考,严禁使用者进行未授权渗透测试!严禁任何形式的转载!

qq_39493066的博客 1358

UE5 Metahuman与Blender手动绑定:ARKit面部动画实战对比

面部动画是角色动画领域的核心技术,其核心原理在于通过驱动面部骨骼或混合形状来模拟真实肌肉运动,从而赋予数字角色生命力。这项技术的价值在于极大地提升了虚拟角色的表现力与沉浸感,广泛应用于游戏开发、影视制作、虚拟现实和实时交互应用。在技术实现路径上,开发者常面临工业化集成方案与高度自定义方案的选择。本文聚焦于使用行业标准的ARKit 52个面部混合形状数据,深度对比了虚幻引擎Metahuman的工业化流程与Blender手动绑定方案在视觉保真度、工作流效率、性能开销和扩展性上的差异,为不同项目规模与技术需求的团

weixin_33901926的博客 449

Vivado工程配置petalinux实现linux下网卡驱动

基于Vivado工程配置petalinux实现linux下控制PL端GPIO 完成对linux网卡的驱动实验内容:Xilinx ZYNQ-7000开发板VM Ubuntu 18.04.5 LTSwindows 10Vivado v2021.1 (64-bit) 系列工具ug585-Zynq-7000-TRM.pdfug821-zynq-7000-swdev.pdf ug1144官方wiki-linux驱动 Linux Drivers - Xilinx Wiki - Confluence

风雨无阻 6368

ZYNQ #2 - Linux环境下烧录BOOT.BIN从QSPI-FLASH启动

这篇博文讲述的是在Linux环境下,将生成的新BOOT.BIN利用dd指令写入板上qspi flash中。板子从flash启动后,转至SD卡执行linux内核。这篇博文是为了之后不使用SD卡,将linux内核以及根文件系统放入emmc启动做准备。 目录 0 - 前言 1 - 准备工作 2 - 建立新的"BOOT_FOR_QSPIFLASH.BIN" 3 - 利用SD卡上运行的linu...

里先森 1万+

pynq-z2 HLS开发

定制Overlay一.用HLS生成一个定制IP功啊啊是合理的创建标题,有助于目录的生成如何改变是式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 一.用HLS生成一个定制IP ...

qq_38769280的博客 4156

MAC 青花瓷(Charles)爪机HTTPS 抓包

前段时间跟之前的产品小姐姐聊天,小姐姐说开发让她抓包帮忙看下数据,然而自己又不会,那就来写一篇简易版的教程 冲冲冲! 手上只有mac电脑跟iPhone手机,只做苹果手机的抓包,android7.0以上版本也没法通过正常的抓htts的包,让安卓开发装个后门吧,不是安卓开发并不知道是啥,连上USB之后访问chrome://inspect/#devices就能很简单的抓包 一、准备工具等 青花瓷...

Promise的博客 1615

ZYNQ无SD卡配置Linux系统到QSPI Flash和eMMC

本文介绍在ZYNQ上,没有SD卡时,如何用QSPI Flash和eMMC启动Linux系统。QSPI Flash放置BOOT.BIN,eMMC的第一个分区(FAT32格式)放置image.ub和system.dtb,eMMC第二个分区(EXT4格式)放置根文件系统放。eMMC的操作和SD卡一样,难点是如何格式化eMMC,其他步骤和用SD卡时差不多。

chenxr的博客 1万+

保姆级教程:如何将仅限客户端使用的免费大模型(Gemini、Antigravity、Qwen Code、Kiro 等)转为任何应用可调用的 OpenAI 兼容标准接口

大模型 API 费用太贵?💸 这篇文章分享一个薅羊毛神器,能把 Gemini、Qwen Code、Kiro 等客户端专属的免费大模型转换成标准 OpenAI 兼容接口 🔌。支持多协议互转、账户池管理、Web 管理界面,Docker 一键部署,零成本调用 Claude Opus 4.5、Gemini 3 Pro 等高级模型 ✅

XiaoqiangClub的博客 1035

使用源码独立编译ZYNQ Linux系统

0、说明 之前通过使用petalinux构建ZYNQ Linux系统,依赖于对petalinux的理解,本节通过最原始的方法编译ZYNQ系统。及获取源码,然后对源码独立编译,打包后烧录。 1、环境 1.1硬件环境 Xilinx ZCU104开发板 1.2软件环境 VM ubuntu 18.04 windows 10 1.3资源下载准备 内核源码 通过petalinux完成配置内核后,在工程的build/downloads目录下有git2_github.com.Xilinx.li....

风雨无阻 4111

YOLOv11改进策略【损失函数篇】| 通过辅助边界框计算IoU提升检测效果(Inner_GIoU、Inner_DIoU、Inner_CIoU、Inner_EIoU、Inner_SIoU)

为了弥补现有 IoU 损失在不同检测任务中泛化性弱和收敛速度慢的问题,·Inner-IoU·通过引入比例因子 “ratio” 来控制辅助边界框的尺度大小,利用不同尺度的辅助边界框来计算损失,从而加速边界框回归过程。

Limiiiing的博客 3892

腾讯微搭低代码开发实战电子书:医疗挂号小程序

本书通过一个完整的“医疗挂号小程序”项目,深度讲解腾讯微搭(WeDa)低代码平台在复杂业务场景下的实战应用。从登录体系搭建、用户注册,到就诊人管理、科室排班与预约下单,全程遵循“配置+逻辑+实战”的思路,带领读者从零实现具备商业级可用性的医疗挂号小程序,掌握低代码开发的核心技巧与业务落地能力。

低代码布道师的博客 954

PetaLinux学习笔记三

在此记录我使用petalinux搭建zynq_linux的过程。 这次搭建zedboard_linux的信息: ① 启动方式为SD卡。 ② BOOT.BIN、iamge.ub、system.dtb放在SD卡的FAT分区。根文件系统是SD卡,解压rootfs.tar.gz到SD卡的EXT4分区。 ③ 串口终端是具有root权限的。 ④ linux只使用了CPU0,CPU1被预留了出来。 一、...

weixin_41922484的博客 2272

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ZYNQ Linux petalinux指令以及工程创建显示【自用】

cd usr/lib/ 可以看到交叉编译工具。使用 Zynq 架构模板初始化项目。petalinux-package --boot --fpga --u-boot /../../ --fsbl 是指定从中的uboot文件并且打包到/../../路径的BOOT.bin文件里。petalinux-package --boot /../../ --fpga --u-boot --fsbl是指定从/../../中的bit流文件并且打包到BOOT.bin文件里。

weixin_63961801的博客 686

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ZYNQ MPSoC通过petalinux运行DMA驱动(1)

如果我们希望通过在软件层面驱动硬件DMA,就需要根据硬件平台来编写相应的驱动代码。本博客以一个基础的DMA环通测试为硬件平台,将ALINX教程中有关Linux中的DMA驱动进行完整的实现。

weixin_57361675的博客 1998

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【ZYNQ】简单几步,教你使用 Petalinux 定制 Linux

简单几步,教你使用 Petalinux 定制 Linux

嵌入式小菜鸟一枚~ 2115

ZYNQ系列(十二)linux的DMA使用

ZYNQ系列(十二)linux的DMA使用 文章目录ZYNQ系列(十二)linux的DMA使用前言 前言

qq_26849933的博客 1万+
上一篇: ZYNQ-Linux学习笔记(2)-在Xilinx SDK中建立Linux应用程序
下一篇: ZYNQ-Linux学习笔记(4)-修改使用emmc加载内核 Petalinux 2018.2
网布
博客等级 码龄17年 167粉丝 20原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

网布

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

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

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

打赏作者

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

抵扣说明:

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

余额充值