一、设计流程步骤如下:

先去官网下载一个对应的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. 用Scrum敏捷开发工具Leangoo做Sprint迭代管理
  2. python中文件读写位置的作用-python配置文件的读写
  3. .NET疯狂架构经验分享系列之(七)WCF支持(转)
  4. GitHub 发布重磅更新:你电脑上的 IDE 可以删了?!
  5. HDU1071_数学几何
  6. oracle调用MySQL函数,Oracle的INSTR函数MySQL实现
  7. C语言:动态爱心代码
  8. SM2算法和RSA算法简介
  9. 云服务器我的数据保存在哪个文件夹,云服务器存储在哪里
  10. [QUANTAXIS量化分析]滚动复利策略
  11. Java的BIO和NIO很难懂?用代码实践给你看,再不懂我转行!
  12. 中南民大计算机学院复试细则,中南民族大学各学院2019年考研复试细则
  13. 咳咳,好久没发博客了,我还活着。(ps:又要进入鸽王模式了)
  14. Codeforces Round #727 (Div. 2)题解A-D
  15. 电子书沦为“压泡面”神器,其实高端电子书就该从这两个里边选
  16. 微信小程序_文档_04_框架_视图层_WXS_WXSS
  17. android zip格式的ndk,Android 使用NDK (JNI)容易解压7z压缩文件
  18. 【软件测试】大厂测试开发你真的了解吗?测试开发养成记......
  19. 【亲测有效】win10修改电脑系统字体大小
  20. 申宝证券-个股分化严重

热门文章

  1. 计算机网络与物流论文题目,现代物流论文:计算机网络与现代物流
  2. 【搬运合集】六款绿色的学习休闲软件,助你成为考研锦鲤!
  3. 早起的故事-为什么早起?怎么早起?早起做什么?
  4. 现货黄金软件屏幕大小怎么调?
  5. 为什么《Dive into Python》不值得推荐
  6. c# .net 查找并安装CA根证书
  7. UVA Knights in FEN
  8. 使用Jquery+EasyUI 进行框架项目开发案例讲解之二---用户管理源码分享
  9. java 自定义日期_java 8 自定义日期获取
  10. 煤矿瓦斯监控联网解决方案