一、设计流程步骤如下:

先去官网下载一个对应的bsp包,如果没有,可以自定义工程,自己建自己的项目,在开始阶段,先用bsp熟悉一下开发流程:

我这里下的是zc702 的bsp板级支持包。 bsp下载地址

首先安装bsp包到自己想建立工程的目录下:后面的bsp包根据自己需要填写bsp路径,我已进入到bsp的同级目录下了。

petalinux-create -t project -s xilinx-zc702-v2018.2-final.bsp

之后会创建一个文件夹在与bsp同级的目录下:目录名为xilinx-zc702-2018.2/

cd到该目录下,执行编译:(如果你想配置内核以及文件系统可以根据上面图中的命令自行尝试,这里为了便于演示流程略了)

petalinux-build

之后等待较长的一段时间,就会生成对应于你板子的响应镜像了,之后步骤见第三步

二、建立自己的工程,不用bsp,这时候需要对应你板子的hdf文件

2.1.先创建属于自己的petalinux工程,项目名自定义,命令为有效命令那一行,里面的参数自己设置

模板:petalinux-create --type project --template --name

有效命令:petalinux-create --type project --template zynq --name test_pro

参数说明:

--template - 支持的CPU types值如下,我用的是zynq的板子:

1 zynqMP (for UltraScale+ MPSoC)

2 zynq (for Zynq)

3 microblaze (for MicroBlaze).

Note: The MicroBlaze option cannot be used along with Zynq or Zynq UltraScale+ designs in

the Programmable Logic (PL).

--name - 你想建立的项目名字

2.2 从vivado导出自己硬件平台,之后导入petalinux工程,便于ptlnx知道你用的是什么板子

2.3 导入hdf文件

petalinux-config --get-hw-description=注意右边的hdf文件是填写hdf文件所在路径中的目录即可,不必包含hdf文件。

2.4 编译

petalinux-build

三、编译之后会在"

"Image" : Zynq UltraScale+ MPSoC

"zImage" : Zynq-7000

"image.elf" : MicroBlaze

"image.ub":FIT镜像

3.1  生成uImage-如果你需要的话

petalinux-package --image -c kernel --format uImage

之后会在同目录下生成uImage。

3.2 对zynq7000系列生成引导镜像(对其他产品暂不说明,详情看UG1144吧,有需要的下方留言评论,我再翻译一下)

petalinux-package --boot --fsbl --fpga --u-boot

说明:

petalinux-package --boot:是一条命令,生成BOOT.bin的引导文件,详情见UG1157

--fsbl:磁盘/SD卡上到达FSBL elf二进制文件的路径,默认:/images/linux.

• zynqmp_fsbl.elf for Zynq UltraScale+MPSoC

• zynq_fsbl.elf for Zynq-7000

• fs-boot.elf for MicroBlaze.

--fpga:磁盘上bit二进制流文件的路径,也就是vivado生成的bit文件路径,无默认,由用户指定

--u-boot:可选的,磁盘上U-Boot二进制文件的路径, 默认:/images/linux

• u-boot.elf for Zynq family device

• u-boot-s.bin for MicroBlaze.

实用例子:

petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot

说明:--fpga无默认路径,必须由用户指定其路径:例如:~/XXX.bit

之后会在 linux 目录下生成BOOT.bin文件。

3.3 打包预编译镜像-如何将新建的镜像打包到预编译目录

petalinux-package --prebuilt --fpga

3.4 使用预编译镜像来使用petalinux-boot命令

petalinux-boot --qemu --prebuilt 3

--qemu:代表在仿真下启动petalinux镜像

--jtag:代表在硬件下启动petalinux镜像,根据自己需要选择,这里我们为了便于演示用qemu仿真

3:代表启动等级,无特殊需求就填3,详情见UG114第34页

3.5  在qemu中启动petalinux镜像(也就是之前编译的文件,上面第三步)

petalinux-boot --qemu --prebuilt 3

之后启动完毕后,登录名和密码都是root

之后可以输入 cat /proc/version查看当前内核版本。

退出QEMU: Ctrl+A ,松开,再按 x(小写的x)-若不成功,部分用户请先退出有道词典

四、修改内核源码-创建属于自己的内核-这里以添加实时补丁为例

4.1 给petalinux添加内核补丁的前提是找到内核源码位置

路径:位于 基于bsp创建出来的一个工程里

xilinx-zc702-2018.2/build/tmp/work-shared/zc702-zynq7/kernel-source

4.2

待续…………

linux中pl怎么使用教程,petalinux初学者-使用教程-快速入门相关推荐

  1. Linux中DNS服务器地址查询命令nslookup使用教程

    这篇文章主要介绍了Linux中DNS服务器地址查询命令nslookup使用教程,是Linux服务器运维的必备知识,需要的朋友可以参考下 nslookup 程序是DNS 服务的主要诊断工具,它提供了执行 ...

  2. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  3. keras入门教程 1.线性回归建模(快速入门)

    Keras入门教程 1.线性回归建模(快速入门) 2.线性模型的优化 3.波士顿房价回归 (MPL) 4.卷积神经网络(CNN) 5.使用LSTM RNN 进行时间序列预测 6.Keras 预训练模型 ...

  4. linux中pl怎么使用教程,在Zynq-7000上编程PL的3种方法

    在Zynq-7000上编程PL大致有3种方法: 1. 用FSBL,将bitstream集成到boot.bin中 2. 用U-BOOT命令 3. 在Linux下用xdevcfg驱动. 步骤: 1. 去掉 ...

  5. HotSpot源码(一):Docker与虚拟机的区别,class字节码解析,linux内核源码下载地址,Yacc与Lex快速入门

    Docker是虚拟机吗? Docker是用来隔离的,使用的是隔离的namespace,使用OS提供的接口进行应用程序之间的资源隔离,不是虚拟机.再加上它自己特殊的文件系统,一层一层叠加.他只不过是一个 ...

  6. python快速入门教程-Python 开发 14 天快速入门

    专栏亮点 零基础学习,循序渐进:专栏将编程语言的学习路线提炼为基础.中级.高级三层,内容由易到难,循序渐进,简练而生动地为读者呈现知识点. 内容全面,提炼要义:从核心概念到高级知识点,包括基本数据结构 ...

  7. Expression Blend实例中文教程(11) - 视觉管理器快速入门Visual State Manager(VSM)

    Visual State Manager,中文又称视觉状态管理器(简称为VSM),是Silverlight 2中引进的一个概念.通过使用VSM,开发人员和设计人员可以轻松的改变项目控件的视觉效果,在项 ...

  8. python脚本教程-总算懂得python脚本快速入门教程

    PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成.PyQt5本身拥有超过620个类和6000函数及方法.在可以运行于多个平台.PyQt5拥有双重协议 ...

  9. python新手快速入门教程-Python 开发 14 天快速入门

    专栏亮点 零基础学习,循序渐进:专栏将编程语言的学习路线提炼为基础.中级.高级三层,内容由易到难,循序渐进,简练而生动地为读者呈现知识点. 内容全面,提炼要义:从核心概念到高级知识点,包括基本数据结构 ...

最新文章

  1. 苏子怡:大数据思维融入建筑节能 | 提升之路系列
  2. 关于Linux下s、t、i、a权限
  3. Linux与云计算——第二阶段 第五章:存储Storage服务器架设—分布式存储GlusterFS基础...
  4. [POJ2155] Matrix(二维线段树,树套树)
  5. 【leetcode 简单】 第三十五题 环形链表
  6. JS 设计模式 一(接口)
  7. RocketMQ如何保证消息不丢失? 如何快速处理积压消息?
  8. 学计算机信息管理专业的感谢,2014年计算机信息管理专业自荐信
  9. python自动处理数据_Python自动化测试-使用Pandas来高效处理测试数据
  10. RegCleanPro (微软认证-注册表清理软件)
  11. open cv中文文档
  12. 分布式数据库设计——分布式数据库的基础概念
  13. panabit安装和默认密码
  14. 微信生态圈盈利模式分析
  15. 阿里企业邮箱smtp设置
  16. 【机器人】工业机器人如何赋能3C制造升级?工业机器人的16项重要应用;工业机器人的11个知识问答,“业内人”必看!
  17. xp系统整个计算机非常慢,xp系统开机速度慢怎么办|xp系统如何加快开机速度
  18. 智慧小区 HC 系统安装配置简单流程(V2022-09-28)
  19. 运放放大倍数计算公式_6.1 运算放大器 开环 闭环 反馈 正反馈 负反馈 虚断 虚短...
  20. oracle全集实战视频教程,oracle入门到精通教程下载

热门文章

  1. Latex转Word——Pandoc,Windows 版本
  2. (转帖)DotNet中的构造函数大聚会
  3. UVALive - 3353 Optimal Bus Route Design(二分图最佳匹配)
  4. Vue中Vnode的创建与处理
  5. Ubuntu 14.04 没有声音解决
  6. IEEE Transaction期刊模板使用注意事项
  7. css让几个快对象同时居中,多个CSS 居中方案,你可能还不知道!
  8. 为什么页面显示能动态添加到元素 而打印却没有添加上
  9. 服务器不知别内存_程序优化浅谈服务器实现高并发的原理
  10. win2003 iis运行php环境,win2003 IIS6.0配置php环境如何加载php5isapi.dll