写在前面

本文主要对petalinux设计流程进行简略介绍。

petalinux设计流程介绍

PetaLinux 工具提供了在 Xilinx 处理系统上自定义、 构建和部署嵌入式 Linux 解决方案所需的功能。 一般的设计流程如下:

  1. 通过 Vivado 创建硬件平台,得到 hdf 硬件描述文件;

  2. 设置Petalinux 环境变量

  3. 创建一个petalinux工程;

  4. 需要将hdf文件导入到petalinux工程(将vivado设计工程应用到petalinux工程);

  5. 配置petalinux工程(其中就包括配置内核、配置U-Boot以及根文件系统);

  6. 编译petalinux工程(U-Boot镜像、内核镜像以及rootfs,bitstream,fsbl镜像文件);

  7. 启动开发板。

petalinux设计流程

设置 Petalinux 环境变量

现在进入到 Ubuntu 系统中,打开终端,以普通用户运行即可,不需要使用 root 用户。在使用 petalinux工具之前,需要先设置 petalinux 的作环境,在终端输入如下命令即可:

sptl

创建一个petalinux工程

在linux终端中输入petalinux再按tab键,将会弹出所有和petalinux有关的指令。

指令 作用
petalinux-create 创建 petalinux 工程
petalinux-config 配置 petalinux 工程
petalinux-build 编译 petalinux 工程
petalinux-package 制作 BOOT.BIN 启动文件
petalinux-boot 启动开发板

所以在系统中创建一个名为“demo_ptlinux”的 Petalinux 工程,只需要在终端中输入如下命令:

petalinux-create -t project --template zynq -n demo_ptlinux

配置 petalinux 工程

移动到工程文件夹下,然后导入hdf文件,这里为了方便直接把hdf文件移动到petalinux 工程路径下,然后进行配置导入。首次配置 Petalinux 工程是将 hdf 硬件描述文件文件导入到 Petalinux 工程中, Petalinux 工具会解析 hdf
文件并弹出配置窗口。 在终端中输入如下命令配置 Petalinux 工程:

petalinux-config --get-hw-description <hdf文件的路径>

导入完成后会弹出下面的界面:

通过键盘上的“↑”和“↓”键来选择要配置的菜单,按下“Enter”键进入子菜单。菜单中高亮的字母就是此菜单的热键,在键盘上按下此高亮字母对应的键可以快速选中对应的菜单。

这里暂时保持默认。

如果需要单独打开petalinux工程的配置界面,可以在终端中输入:

petalinux-config

在终端中输入petalinux-config并加上后缀可以对不同部分进行单独配置。

u-boot配置:

petalinux-config -c u-boot

Linux内核配置:

petalinux-config -c kernel

rootfs (根文件系统)配置:

petalinux-config -c rootfs

编译petalinux工程

编译petalinux工程,可以使用petalinux-build,进行整体编译,也可以对每一部分进行单独编译。

  1. 编译整个petalinux工程(U-boot、kernel和设备树、rootfs、fsbl、bit文件)

    petalinux-build
    
  2. 单独编译u-boot、kernel、rootfs

    petalinux-build -c u-boot //编译U-boot
    petalinux-build -c kernel //编译内核
    petalinux-build -c rootfs //编译根文件系统rootfs
    

编译成功后终端显示如下:

启动开发板

对于启动开发板,需要制作一个启动镜像文件:BOOT.BIN,可以使用petalinux-package进行生成相应的BOOT.BIN。

petalinux-package --boot --fsbl --fpga --u-boot --force
--boot:我们要通过petalinux-package命令生成BOoT.BIN启动镜像文件
--fsbl:用于指定fsbl镜像文件路径
--fpga:用于指定bitstrram文件路径
--u-boot:用于指定u-boot文件路径(用户程序镜像)
--force:强制覆盖

对于ZYNQ硬件平台来说启动嵌入式Linux系统需要这些文件:

fsbl镜像文件、bitstream文件、U-Boot、kernel和设备树、rootfs

BOOT.BIN包含了 fsbl镜像文件、bitstream文件、U-Boot。

image.ub包含了kernel和设备树、rootfs。

编译完工程,会在工程路径下多一个images文件夹,终端进入该文件夹下的linux文件夹,

然后执行上述petalinux-package操作,生成BOOT.bin和image.ub。

将生成的BOOT.bin和image.ub拷贝到SD卡下,板卡设置sd卡模式启动。

打开板卡,在putty中打开终端,即可看到板卡正在启动,打印信息。

login选择输入root,密码也是root。即可登录制作好的pt工程。

成功进入系统。

ZYNQ - 嵌入式Linux开发 -06- petalinux设计流程相关推荐

  1. ZYNQ - 嵌入式Linux开发 -05- Linux C编程和Makefile

    写在前面 本文主要介绍了关于Linux C编程的相关内容以及介绍了Makefile的简单使用教程. VIM编辑器 如果要在终端模式下进行文本编辑或者修改文件就可以使用 VI/VIM 编辑器,Ubunt ...

  2. ZYNQ - 嵌入式Linux开发 -10- ZYNQ启动流程分析

    FSBL启动准备工作 在静态情况下,Boot.BIN启动文件存放在SD卡或QSPI等存储介质中,然后Boot.BIN文件中已经包含了FSBL代码,也就是说FSBL代码已经集成在了Boot.BIN文件中 ...

  3. ZYNQ - 嵌入式Linux开发 -07- petalinux工程配置解析

    写在前面 前文实现了对一个工程进行了petalinux的镜像制作,对于中间过程的具体配置没有做过多讲解,本文将针对petalinux的配置做进一步的解析. 字符图形界面配置解析 图像界面操作 打开之前 ...

  4. 【正点原子FPGA连载】第六章Petalinux设计流程实战摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  5. 【正点原子FPGA连载】第十六章Petalinux设计流程实战摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  6. 嵌入式大牛详解:嵌入式linux开发流程总结

    很多的小伙伴都私信问了小编在嵌入式学习的过程中都能学到什么,这次小编就顺从大家的意思来一篇嵌入式linux开发的流程,嵌入式linux的学习是不可少的,可以说嵌入式linux是学习比较困难的,会遇到各 ...

  7. 嵌入式linux开发课程设计,嵌入式Linux开发课程设计指导书

    嵌入式Linux开发课程设计指导书 课程编码: 适应专业:计算机专业.电子信息工程专业 学时:3周(计算机专业),2周(电子信息工程专业) 学分: 3(计算机专业),2(电子信息工程专业)时间安排:分 ...

  8. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍

    文章目录 1.linux开发初了解 1.1 嵌入式Linux开发的基本概念 1.1.1关于Git的背景介绍 1.1.2关于repo的背景介绍 1.1 3 一些关于此背景知识的介绍 1.1.4关于Lin ...

  9. iptv linux 安卓 盒子,基于嵌入式Linux的IPTV机顶盒设计

    摘要: 随着人们生活水平的提高和Internet技术的发展,IPTV开始走进人们的生活,IPTV是一种集网络.多媒体.通讯等多种技术于一体,向用户提供包括数字电视在内的多种交互式服务的崭新技术.作为I ...

最新文章

  1. java多线程学习三
  2. moss 2007 单点登录的配置
  3. boost::sort模块实现相关的浮点排序测试
  4. 博览安全圈:360曝Office高危漏洞 微软及时修复
  5. MongoDB 一个基于分布式文件存储的数据库
  6. jedis常用API
  7. 特殊权限:SUID,SGID,Sticky
  8. mysql 内连接条件_Mysql内连接有OR条件?
  9. C语言编程规范(排版)
  10. 推荐一波对你来说,非常有用的网站,记得收藏
  11. 2019 年,数据分析师怎样才能更抢手?
  12. codevs1958 刺激
  13. 网页版excel数据批量导入数据库
  14. 学习笔记:模式学习-生成器模式
  15. 百旺智能编码_【百旺开票软件税控盘版】百旺金税盘开票软件下载 v2020 最新版本-趣致软件园...
  16. kux格式视频转换为mp4(ffmpeg)
  17. java代码处理URL转码
  18. 【更新】Kendo UI for jQuery发布R2 2018|附下载
  19. 基于java的高校实验室排课系统
  20. 22处令人叹为观止的景观

热门文章

  1. 华为鸿蒙麒麟巴龙鲲鹏,华为四大芯片 麒麟、巴龙、昇腾和鲲鹏“四大天王”...
  2. Python是信奥的基础吗,学习信奥要不要先学python
  3. JS中如何获取JSON子项的个数或叫length
  4. 【论文解读 WSDM 2018 | SHINE】Signed HIN Embedding for Sentiment Link Prediction
  5. mysql查询学生平均成绩及其名次_sql 统计 学生成绩2
  6. JavaScript弹出模式窗口
  7. 从比尔盖茨嫁女看商战真经
  8. Hibernate简单配置
  9. 数据结构 | 二叉树 先根、中根、后根遍历的非递归算法
  10. STM32学习笔记---TFT-LCD