使用Petalinux设计linux系统

文章目录

    • 1.通过 Vivado 创建硬件平台,得到 hdf 硬件描述文件
    • 2.设置 Petalinux 环境变量
    • 3.创建 Petalinux 工程
    • 4.配置Petalinux 工程
    • 5.配置Linux内核
    • 6.配置Linux根文件系统
    • 7.配置设备树文件
    • 8.编译 Petalinux 工程
    • 9.制作BOOT.BIN启动文件
    • 10.制作SD启动卡

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

home目录下创建一个名为 petalinux 的目录,并在 petalinux 目录下创建 hdf 目录,将Vivado生成的SDK文件夹拷贝到hdf目录下。

2.设置 Petalinux 环境变量

初始化Petalinux 工作环境:source <petalinux安装路径>/settings.sh

绑定的快捷指令:sptl

3.创建 Petalinux 工程

在petalinux 目录下创建Petalinux工程:petalinux-create -t project --template zynq -n 工程名称

4.配置Petalinux 工程

  1. hdf 硬件描述文件导入到 Petalinux 工程中:
cd <petalinux工程目录>
petalinux-config --get-hw-description ../hdf/xxxx.sdk/

注:此时如果终端界面太窄,会产生错误。

Failed to menu config project component

  1. 导入成功之后会自动弹出 petalinux 工程配置窗口:

在这里插入图片描述

  • 如果后面修改了 Vivado 工程,重新生成 hdf 文件后, 可以重新执行“petalinux-config --get-hw-description hdf文件路径”命令以重新配置 Petalinux 工程。

  • 键盘上按下此高亮字母对应的键可以快速选中对应的菜单。中括号里的“*”表示为已使能配置。

  • 在“Auto Config Settings”中的“Advanced bootable images storage Settings”菜单中可配置启动引导镜像和内核镜像的存储媒介,默认为 sd 卡

  1. 按两次“ESC”退出窗口。

5.配置Linux内核

进入petalinux工程目录

petalinux-config -c kernel

Petalinux 默认使用的内核版本为 4.14.0,使用的内核 Xilinx 官方已经做好了基础配置,一般无需更改。

6.配置Linux根文件系统

进入petalinux工程目录

petalinux-config -c rootfs

默认配置一般够用,“PetaLinux RootFS Settings”可以用来设置 root 用户的密码,默认为“root”。

7.配置设备树文件

cd petalinux工程目录
vi project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi
手动配置

配置信息:

  • compatible:用于与内核驱动匹配的名字
  • label:名字
  • gpios:对应的GPIO引脚
  • 默认状态以及触发状态

8.编译 Petalinux 工程

进入petalinux工程目录:

petalinux-build

该命令将生成设备树 DTB 文件、fsbl 文件、U-Boot 文件,Linux 内核和根文件系统映像。 编译完成后,生成的映像(image.ub)将位于工程的 images 目录下。

Petalinux 会根据 hdf 文件和配置的petalinux工程自动配置 fsbl 和 uboot,一般无需手动配置。

9.制作BOOT.BIN启动文件

ZYNQ 的启动文件 BOOT.BIN 一般包含 fsbl 文件、bitstream 文件和 uboot 文件。

image.ub本质上是多个文件组合在一起,包括内核镜像、dtb文件、根文件系统。

生成 BOOT.BIN 文件:petalinux-package --boot --fsbl --fpga --u-boot --force

“–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 文件系统,用于存放根文件系统。

(1)将读卡器插入到电脑并连接到Ubuntu系统,找到SD卡对应的设备节点,比如是/dev/sdb。

(2)先给SD卡分区

umount /dev/sdb*
sudo fdisk /dev/sdb

(3)输入“d”,删除以前的分区

(4)输入“n”创建一个新分区。通过选择“p”使其为主,使用默认分区号 1 和第一个扇区 2048。设置最后一个扇区,也就是设置第一个分区的大小,可设置为100MB,输入+100M

(5)设置分区类型,输入“t”,然后输入“c”,设置为“W95 FAT32 (LBA)”。

(6)输入“a”,设为引导分区,第一个分区创建完成。

(7)输入“n”,创建根文件系统分区,然后一路默认。

(8)输入“p”,检查分区表,如没问题,输入“w”写入到SD卡并退出。

(9)格式化分区,将第一个分区格式化成 FAT32 分区并命名为 boot,将第二个分区格式化成 ext4 分区并命名为 rootfs。

sudo mkfs.vfat -F 32 -n boot /dev/sdb1
sudo mkfs.ext4 -L rootfs /dev/sdb2

(10)分别点击两个图标即可自动将这两个分区挂载到 Ubuntu 系统。

(11)将 petalinux 工程目录 image/linux 目录下的 BOOT.BIN 和 image.ub 文件拷贝到名为 boot 的分区。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GaussDB关键技术原理:高性能(三)

GaussDB关键技术原理&#xff1a;高性能&#xff08;二&#xff09;从查询处理综述对GaussDB的高性能技术进行了解读&#xff0c;本篇将从查询重写RBO、物理优化CBO、分布式优化器、布式执行框架、轻量全局事务管理GTM-lite等五方面对高性能关键技术进行分享。 目录 3 高性能…

.secret勒索病毒详解,如何防御网络隐秘威胁

引言&#xff1a; 在数字化日益普及的今天&#xff0c;网络安全问题愈发凸显&#xff0c;其中勒索病毒作为一种极具破坏性的恶意软件&#xff0c;给个人用户和企业带来了巨大的损失和心理压力。.secret勒索病毒&#xff0c;作为这一威胁中的佼佼者&#xff0c;以其高度的隐蔽性…

Android Graphics 显示系统 - BufferQueue的状态监测

“ BufferQueue作为连接生产者和消费者的桥梁&#xff0c;时刻掌握队列中每一块Buffer的状态&#xff0c;对于解决一些卡死卡顿问题很有帮助&#xff0c;辨别是否有生产者或消费者长期持有大量Buffer不放导致运行不畅的情况。” 01 — 前言 在Android系统中&#xff0c;应用U…

Redis基础教程(四):redis键(key)

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

MicroBin好用的粘贴板工具

有时候你可能想从一台电脑上粘贴文本到另一台电脑上&#xff0c;或者是你想要分享一张图片或者是一些文件&#xff0c;某些设备上登陆qq和微信有不太方便&#xff0c;那么就可以使用MicroBin&#xff0c;它不但可以实现跨设备复制粘贴的功能&#xff0c;还支持文件上传等功能 …

微信小程序的在线客服系统源码 附带完整的源代码包以及搭建部署教程

系统概述 微信小程序的在线客服系统源码是一套专门为微信小程序开发的客服解决方案。它通过与微信小程序的紧密集成&#xff0c;为用户提供了便捷、高效的客服沟通渠道。该系统源码采用先进的技术架构&#xff0c;具备良好的稳定性和扩展性&#xff0c;能够满足不同规模企业的…

韩顺平0基础学java——第34天

p675-689 UDP网络编程 1.类 DatagramSocket和 DatagramPacket[数据包/数据报]实现了基于UDP协议网络程序。 2.UDP数据报通过数据报套接字DatagramSocket发送和接收&#xff0c;系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。 3.DatagramPacket对象…

【前端】从零开始学习编写HTML

目录 一、什么是前端 二、什么是HTML 三、HTML文件的基本结构 四、HTML常见标签 4.1 注释标签 4.2 标题标签 4.3 段落标签 4.4 换行标签 4.5 格式化标签 4.6 图片标签 4.7 超链接标签 4.8 表格标签 4.9 列表标签 4.10 表单标签 &#xff08;1&#xff09;form标…

MySQL高可用(MHA高可用)

什么是 MHA MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大…

内容营销专家刘鑫炜:如何撰写一篇吸睛又能转化的医疗推广软文?

在我每天要处理的稿件中&#xff0c;有1/3以上是医疗软文&#xff0c;但稿件质量情况不容乐观&#xff0c;大部分医疗软文甚至用极其糟糕来形容都为过&#xff0c;互联网都到下半场了&#xff0c;很多医疗机构营销人员的营销思维还是停留在二十几年前&#xff0c;投放的软文还是…

SpringMVC系列八: 手动实现SpringMVC底层机制-第三阶段

手动实现SpringMVC底层机制 实现任务阶段六&#x1f34d;完成控制器方法获取参数-RequestParam1.&#x1f966;将 方法的 HttpServletRequest 和 HttpServletResponse 参数封装到数组, 进行反射调用2.&#x1f966;在方法形参处, 指定 RequestParam, 将对应的实参封装到参数数组…

Redis缓存问题二、缓存雪崩

缓存雪崩 缓存雪崩&#xff1a;是指在同一时段大量的缓存key同时失效或者Redis服务宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 缓存雪崩的解决方案&#xff1a; 给不同的Key的TTL添加随机值利用Redis集群提高服务的可用性给缓存业务添加降级限流策略…

sql-语句

文章目录 SQL语句的学习sql是什么sql的内置命令sql的种类sql mode库&#xff0c;表属性介绍&#xff1a;字符集&#xff0c;存储引擎列的数据类型&#xff1a;数字&#xff0c;字符串&#xff0c;时间列的约束DDL: 数据定义语言库表 Online DDL(ALGORITHM) *DML :数据操纵语言资…

SpringBoot实现文章点赞功能

提示&#xff1a;今日是2024年的6月30日&#xff0c;未来的你看到这篇文章&#xff0c;希望你依旧快乐 文章目录 前言 首先在这里前缀部分我就不做要求了,比如说登录信息什么的 数据库表格 这里实现点赞功能&#xff0c;主要是围绕论坛项目完成的 user_info代表用户信息表 for…

SprongBoot3整合Knife4j

大家好&#xff0c;我是晓凡。 写在前面 在上一篇文章&#xff0c;我们详细介绍了SpringBoot3 怎么整合SpringDoc实现在线接口文档。但是&#xff0c;有不少小伙伴 都觉得接口界面太丑了。有没有什么更美观一点的UI界面呢&#xff1f; 当然是有的了&#xff0c;毕竟这是一…

抖音直播自动点赞脚本:让点赞变得简单

抖音直播自动点赞脚本&#xff1a;让点赞变得简单 简介 点赞是社交媒体上表达喜爱的一种方式&#xff0c;尤其在抖音这样的平台上&#xff0c;点赞不仅能够增加主播的人气&#xff0c;还能鼓励他们创作更多优质内容。然而&#xff0c;手动点赞往往既耗时又费力。为了解决这个…

云服务出现故障这样处理

无法连接云服务器 服务器远程无法连接时&#xff0c;可通过7ECloud控制台进行连接。 常见故障现象 1、ping不通 2、ping丢包 3、部分端口telnet不通 4、全部端口telnet不通 5、广告、弹窗植入 6、域名无法访问IP访问正常 常见故障原因 1、云服务器过期、关机或者EIP被…

深度学习基准模型Transformer

深度学习基准模型Transformer 深度学习基准模型Transformer&#xff0c;最初由Vaswani等人在2017年的论文《Attention is All You Need》中提出&#xff0c;是自然语言处理&#xff08;NLP&#xff09;领域的一个里程碑式模型。它在许多序列到序列&#xff08;seq2seq&#xf…

恭喜了!全体前端彻底狂欢吧!这个好消息来得太及时!

在这个快速变化的科技时代&#xff0c;作为独立开发者&#xff0c;你是否常常被繁琐的开发任务压得喘不过气&#xff1f;前端开发要操心后端的各种服务搭建和接口开发&#xff0c;这些琐碎而耗时的工作常常让人头大。但现在&#xff0c;你可以松一口气了&#xff0c;因为MemFir…

【ARM-Linux篇】项目:智能家居

一、项目概述 •项目功能 通过语音控制客厅灯、卧室灯、风扇、人脸识别开门等,可以进行火灾险情监测,可以并且实现Sockect发送指令远程控制各类家电等 •项目描述 全志H616通过串口连接各模块硬件,检测语音的识别结果,分析语音识别的结果来对家电设备进行控制。摄像头拍…