使用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.mfbz.cn/a/760828.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能旅行规划的未来:大模型与形式化验证的融合

我们在做旅行规划时面对众多的目的地选择、复杂的交通连接、预算限制以及个人偏好等多重因素&#xff0c;即使是最有经验的旅行者也可能会陷入选择困境。传统的旅行规划方法往往依赖于人工操作&#xff0c;这不仅耗时耗力&#xff0c;而且难以保证计划的最优性和可执行性。 本…

C++学习笔记---POCO库

在Windows系统中安装POCO 1&#xff09;安装OpenSSL POCO编译安装依赖OpenSSL&#xff0c;如果未安装OpenSSL则应该先安装OpenSSL。 假设将OpenSSL安装在C:\OpenSSL-Win64&#xff0c;将C:\OpenSSL-Win64、C:\OpenSSL-Win64\lib添加到PATH环境变量中2&#xff09;安装POCO 将p…

Java代码生成器(开源版本)

一、在线地址 Java在线代码生成器&#xff1a;在线访问 二、页面截图 三、核心功能 支持Mybatis、MybatisPlus、Jpa代码生成使用 antlr4 解析SQL语句&#xff0c;保证了SQL解析的成功率支持自定义包名、作者名信息支持自定义方法名、接口地址支持自定义选择是否生成某个方法…

前端面试题(基础篇十四)

一、DOMContentLoaded 事件和 Load 事件的区别&#xff1f; 当初始的 HTML 文档被完全加载和解析完成之后&#xff0c;DOMContentLoaded 事件被触发&#xff0c;而无需等待样式表、图像和子框架的加载完成。 Load 事件是当所有资源加载完成后触发的。 二、简述一下你对 HTML 语…

解析桥式整流电路

下面这个桥式整流电路出场率很高&#xff0c;看着一定眼熟。 事实证明&#xff0c;强行灌输的东西总是难以下咽。记得读书那会&#xff0c;第一次看到这个电路时被吓到了&#xff0c;以至于直到这门课结束了也没搞清楚。 本文就来分析一下此电路中电流的走向&#xff0c;进而理…

【初阶数据结构】深入解析队列:探索底层逻辑

&#x1f525;引言 本篇将深入解析队列:探索底层逻辑&#xff0c;理解底层是如何实现并了解该接口实现的优缺点&#xff0c;以便于我们在编写程序灵活地使用该数据结构。 &#x1f308;个人主页&#xff1a;是店小二呀 &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#…

Android经典面试题之Glide的缓存大揭秘

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 Glide缓存 关联类&#xff1a;Engine、LruResourceCache、LruCache、ActiveResources ActiveResources&#xff1a;弱引用缓存池 VisibleForTe…

Chapter8 透明效果——Shader入门精要学习笔记

一、基本概念 在Unity中通常使用两种方法来实现透明效果 透明度测试&#xff08;无法达到真正的半透明效果&#xff09;透明度混合&#xff08;关闭了深度写入&#xff09; 透明度测试 基本原理&#xff1a;设置一个阈值&#xff0c;只要片元的透明度小于阈值&#xff0c;就…

VMware--创建Ubuntu虚拟机

原文网址&#xff1a;VMware--创建Ubuntu虚拟机-CSDN博客 简介 本文介绍VMware创建Ubuntu虚拟机的方法。 VMware是最好用的虚拟机软件&#xff0c;安装方法见&#xff1a; 本文安装当前最新的Ubuntu的LTS镜像&#xff1a;ubuntu2022.04.4LTS。 1.下载Ubuntu镜像 下载地址…

电脑技巧:告别卡顿,迎接流畅——Wintune系统优化软件功能详解

目录 一、Wintune介绍 二、Wintune核心功能介绍 2.1 系统优化 2.2 隐私功能 2.3 文件管理模块 2.4 可选选项 2.5 UWP app服务 2.6 startup Manager 2.7、主机编辑 三、总结 电脑是大家目前日常办公娱乐必不可小的工具&#xff0c;软件市场上的系统优化软件层出不穷&a…

一二三应用开发平台应用开发示例(5)——列表视图、树视图、树表视图、树参照视图配置

列表视图 接下来进入列表视图配置&#xff0c;创建的操作方式跟前面相同&#xff0c;如下图所示&#xff1a; 保存后回到列表&#xff0c;点击行记录的配置按钮&#xff0c;进入如下配置页面 可以看到该配置界面相比新增、修改、查看那三个视图要复杂得多&#xff0c;配置项…

帕金森患者的福音,这些食物竟有神奇疗效!

在忙碌的现代生活中&#xff0c;健康问题越来越受到大家的关注。而帕金森病作为一种常见的老年神经系统疾病&#xff0c;更是让许多患者和家庭倍感压力。但是&#xff0c;你知道吗&#xff1f;除了药物治疗和手术干预&#xff0c;日常饮食也能对帕金森病产生积极的影响。今天&a…

开源分享:一套完整的直播购物系统源码

直播购物已经成为一种炙手可热的电商模式&#xff0c;吸引了无数商家和消费者的目光。对于开发者来说&#xff0c;构建一个功能齐全、用户体验优良的直播购物系统是一项复杂的任务。本文将分享一套完整的直播购物系统源码&#xff0c;帮助开发者快速搭建自己的直播购物平台。 …

基于springboot+vue+uniapp的语言课学习系统小程序

开发语言&#xff1a;Java框架&#xff1a;springbootuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#…

在Centos上安装Lua不要用什么curl指令,这样获取到的压缩包不是gzip格式的

Lua 环境安装 | 菜鸟教程 (runoob.com) 在这一篇里&#xff0c;把这一行 换成 wget http://www.lua.org/ftp/lua-5.3.0.tar.gz 再去解压编译安装就对了。

ue5导航网格设置

AI使用导航网格进行移动&#xff0c;所以&#xff0c;先设置导航网格边界体积 2&#xff0c;使导航网格边界体积覆盖AI所需要的场景&#xff08;绿色区域&#xff09;&#xff0c;x,y&#xff0c;z在这里都扩大到原来的10倍 3&#xff0c;打开actor的“启用tick并开始” 4&…

No module named ‘MySQLdb‘

python 运行代码的时候遇到No module named ‘MySQLdb’报错如何解决&#xff1f; 解决办法 如果没有安装可以先安装以下依赖库 pip install PyMySQL如果已经安装了PyMySQL&#xff0c;仍然报MySQLdb模块找不到&#xff0c;可以尝试安装以下依赖库。 pip install mysqlclient

二轴机器人装箱机:重塑物流效率,精准灵活,引领未来装箱新潮流

在现代化物流领域&#xff0c;高效、精准与灵活性无疑是各大企业追求的核心目标。而在这个日益追求自动化的时代&#xff0c;二轴机器人装箱机凭借其较佳的性能和出色的表现&#xff0c;正逐渐成为装箱作业的得力助手&#xff0c;引领着未来装箱新潮流。 一、高效&#xff1a;重…

【12】交易-“未花费交易输出”

1. 未花费交易输出 1.1 概念 未花费交易输出(unspent transactions output, UTXO)。未花费(unspent)指的是这个输出还没有被包含在任何交易的输入中,或者说没有被任何输入引用。 在交易结构示意图中,未花费的输出是:tx1, output 1;tx3, output 0;tx4, output 0。 1…

JavaScript原型对象和对象原型、原型继承、原型链

目录 1. 原型对象和对象原型2. 原型继承3. 原型链 1. 原型对象和对象原型 作用: 以前通过构造函数实例化的对象&#xff0c;每个实例化的对象的属性和方法都是独立的&#xff0c;会造成内存浪费。通过prototype对象原型能实现不同实例化对象共享公用的属性和方法&#xff0c;减…