Ubuntu中 petalinux 安装 移植linux --tftp/tftp-hpa服务的方法
Xilinx 文档
PetaLinux 指南:如何创建 PetaLinux 环境 (2019.1)
PetaLinux工具参考指南
PetaLinux安装详解(Xilinx , linux, zynq, zynqMP)
petalinux 2020.1安装教程
一、PetaLinux工具和库安装
PetaLinux 工具要求主机系统 /bin/sh 为“bash”。如果使用 Ubuntu 分布,而 /bin/sh 为“dash”,使用 sudo dpkg-reconfigure dash命令更改默认的系统 shell /bin/sh更改(选择“否”,更改完再用查看一下是否更改成功)。
查看目前是dash还是bash命令:ls -l /bin/sh
1、安装一些库和包
sudo apt-get install tofrodos gawk xvfb git libncurses5-dev tftpd zlib1g-dev zlib1g-dev:i386 libssl-dev flex bison chrpath socat autoconf libtool texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev screen pax
sudo apt-get install texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev zlib1g:i386 libncurses5 libncurses5-dev libc6:i386 libstdc++6:i386 zlib1g:i386 libssl-dev tftpd tftp openbsd-inetd
sudo apt-get install texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev zlib1g:i386
sudo dpkg --add-architecture i386
sudo apt-get update
sudo dpkg-reconfigure dash
Ubuntu中安装tftp/tftp-hpa服务 【install tftp】
检查tftp是否已经安装:netstat -a | grep tftp 若出现:
udp 0 0 *:tftp 则说明已经安装,否则没有
$ sudo apt-get install tftp-hpa tftpd-hpa$ mkdir ~/tftpboot$ chmod 777 ~/tftpboot/$ sudo gedit /etc/default/tftpd-hpa# /etc/default/tftpd-hpa TFTP_USERNAME="tftp"TFTP_DIRECTORY="/home/james/tftpboot" //tftpboot绝对路径TFTP_ADDRESS=":69"TFTP_OPTIONS="--secure -l -c -s"$ service tftpd-hpa restart

安装完成!测试方法:
在/tftpboot 目录下随便放个文件abc
然后 运行tftp 192.168.133.3(ifconfig下NAT网卡) 进入tftp命令行
输入get abc 看看是不是能把文件下下来,如果可以就可以了,也可以put 文件上去
2、建立安装文件夹,修改权限
sudo -s
mkdir -p petalinux
chown <your_user_name> petalinux
chgrp <your_user_name> petalinux
chgrp <your_user_name> petalinux
chown <your_user_name> petalinux
exit
然后将下载的.run文件移动到此文件夹(petalinux)
3、安装 petalinux
./petalinux-v2023.2-10121855-installer.run
随后使用回车查看协议,q退出查看,y同意进行安装

4、使用
启动环境配置
cd petalinux
source settings.sh

使用
调用 petalinux-create 命令有如下输出,说明安装成功了。

验证
echo $PETALINUX
出现petalinux路径,即安装成功
二、搭建工程
source settings.sh
1、 创建工程
petalinux-create -t project --template zynq --name xvc_linux
这样就创建了一个基于zynq芯片模板,name 名为 xvc_linux 的工程了。
template属性可以选择zynqMP , zynq and microblaze

cd xvc_linux // 切换到 petaLinux 项目目录
2、配置工程【导入硬件说明】========
经Vivado综合,实现后,在Vivado中导出硬件,输出PetaLinux所需要的硬件描述文件
输出的文件就在“/(工程文件夹)/(工程名).sdk”这个文件夹下,这个文件夹下的system_wrapper.hdf待用
把导出的硬件描述文件system_wrapper.hdf拷贝到虚拟机中的 xvc_linux 工程文件夹下,然后: (system.xsa)
petalinux-config --get-hw-description=/home/book/petalinux/xvc_linux
会进入一个配置界面,在里面我们可以配置一些系统参数,主要的配置包括:启动方式,启动存储器分区表,启动文件名称等等,本文暂不对其修改(默认是从SD卡中启动),然后等待其配置(时间较长)
弹出petalinux 工程配置窗口,保持默认后退出。
3、创建要在 PetaLinux 上运行的应用程序
创建并启用一个C模板应用程序,使用以下命令导入Linux构建
petalinux-create -t apps -n xvcServer --enable --template c

这将创建一个名为xvcServer的模板应用程序,它将替换模板,
应用程序的应用软件位于这里:sw/source/app/xvcServer.c 此处下载 xapp1251
在命令提示符中输入以下命令:
cp …/…/source/app/xvcServer.c ./components/apps/xvcServer/

4 、编译一个工程,构建系统镜像:
petalinux-build
5 、生成BOOT.bin文件
petalinux-package --boot --format BIN --fsbl ./images/linux/zynq_fsbl.elf --u-boot --force
6、
boot.bin文件位于PetaLinux项目目录下,而image.ub文件位于./images/linux录下。
将这两个文件复制到MicroSD卡中,然后插入MicroZed板。
相关文章:
Ubuntu中 petalinux 安装 移植linux --tftp/tftp-hpa服务的方法
Xilinx 文档 PetaLinux 指南:如何创建 PetaLinux 环境 (2019.1) PetaLinux工具参考指南 PetaLinux安装详解(Xilinx , linux, zynq, zynqMP) petalinux 2020.1安装教程 一、PetaLinux工具和库安装 PetaLinux 工具要求主机系统 /bin/sh 为“b…...
JVM(内存区域划分、类加载机制、垃圾回收机制)
目录 一. 内存区域划分 1.本地方法栈(Native Method Stacks) 2.虚拟机栈(JVM Stacks) 3.程序计数器(Program Counter Register) 4.堆(Heap) 5.元数据区(Metaspace) 二.类加载机制 1.加载 2.验证 3.准备 4.解析 5.初始化 "双亲委派模型" 三. GC 垃圾回收…...
C语言---基础内容(万字)
C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯里奇在贝尔电话实验室设计开发了 C 语言。 C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程…...
c语言从入门到函数速成(完结篇)
哈喽,小伙伴们大家好呀,本篇文章是这个系列的完结篇,希望大家看完后能有所收获哦 首先能看到这里的同学,一定也是自觉性比较强的了,我会在文章末尾给大家发点小福利 那么,我们先来通过数学中的函数来引入一…...
关于linux磁盘告警问题
案例:我们在执行df命令时,查看到磁盘利用率很高,但是到相对应的目录执行du -sh *来找大文件时进行删除时,发现各个目录相加并不大,如下图: 使用df命令查看到根(/)目录使用到33G,而du命令显示只使…...
冯喜运:5.27黄金暴跌大阴后出现“暂定符”今日黄金原油操作策略
【黄金消息面分析】:金价虽然有大阴线暴跌,但依然属于超买后的调整而非熊市,对中长线投资者来说只是市场洗牌。因此,在出现企稳迹象之后,随时关注反弹时机的启动。未来几日,黄金空头可能在进一步发力之前需…...
前端JS必用工具【js-tool-big-box】学习,获取全球重点城市时间
我们去住一些旅馆的时候,或者一些国际性网站,经常可以看见他们的钟表会展示一些国家地区的时间,这个就是很常用的功能。但如果不常接触这个功能的开发网站呢,大家就看自己电脑右下角的时间展示,就是自己当前的具体时间…...
BioTech - 将蛋白质的 PDB 格式文件 转换成 mmCIF 格式文件 (Python)
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/139234247 蛋白质的三维结构信息通常可以通过两种格式的文件来获取:PDB (Protein Data Bank) 和 mmCIF (Macromolecular Crystallographic Information File…...
【编程题-错题集】奇数位丢弃(模拟 - 规律)
牛客对应题目链接:奇数位丢弃_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 通过⼀两个例子的模拟,可以发现:每次起始删除的下标都是 2 的次方。根据这个规律,找到最后⼀次删除的起始位置的下标即可。 二、代码 #include <io…...
Docker安装MongoDB(Linux版)
文章目录 前言一、Docker环境的准备1.安装依赖2.安装Docker 二、使用Docker安装MongoDB1.mongo版本选取2.拉取合适的镜像3.宿主机创建MongoDB需要挂载的文件夹4.第一次无认证创建mongo用户5.启动需要认证的mongo容器 问题汇总总结 前言 本文章主要介绍在Centos系统,…...
【设计模式】JAVA Design Patterns——Commander(指挥官模式)
🔍目的 用于处理执行分布式事务时可能遇到的所有问题。 🔍解释 处理分布式事务很棘手,但如果我们不仔细处理,可能会带来不想要的后果。假设我们有一个电子商务网站,它有一个支付微服务和一个运输微服务。如果当前运输…...
解决vue3项目vite打包忽略.vue扩展名
项目打包时报could not relolve “...”,因为vite已不再默认忽略.vue扩展名。 解决方法如下: 在vite.config.js中配置vite使其忽略 .vue 扩展名(不建议忽略) 注意:即使忽略了.vue文件,在实际写的时候也要加…...
Vue基础(数据绑定、export使用)
1、简介 在使用vue开发的过程中,经常会遇到一些容易混淆的问题,因此,在本文中进行汇总操作,只有通过不断总结学习,才能更好掌握vue的使用(每天进步一点)。 2、数据绑定 在js中定义数据…...
【传知代码】基于图神经网络的知识追踪方法(论文复现)
前言:本文将深入探讨基于图神经网络的知识追踪方法,旨在通过构建知识图谱来捕捉知识之间的复杂关联,并利用图神经网络强大的表示学习能力来建模学生的学习过程。我们将首先介绍图神经网络的基本原理和关键技术,然后详细阐述如何将…...
Vue与React、Angular的比较
Vue、React和Angular是前端开发中三个流行的JavaScript框架,它们各自具有不同的特点、优势和适用场景。以下是对这三个框架的比较: 1. 基本概念 Vue:Vue是一套用于构建用户界面的渐进式框架,其核心库专注于视图层,易…...
LINQ(二) —— 流式语句
总目录 C# 语法总目录 LINQ 二 —— 流式语句 1.1 序列相关部分运算符1.2 查询相关部分运算符 1.1 序列相关部分运算符 Take 运算符:Take 是拿出序列的几个数 Skip 运算符:Skip 是跳过序列的前几个数 Reverse 运算符:Reverse 是将序列反转 …...
怎么查看MySQL服务的最大连接,已经使用的连接数?怎么配置最大连接数?
要查看和配置MySQL服务的最大连接数以及已经使用的最大连接数,可以使用以下SQL语句和步骤: 查看MySQL服务的最大连接数和已经使用的最大连接数 查看当前最大连接数: SHOW VARIABLES LIKE max_connections;查看已经使用的最大连接数ÿ…...
微信小程序毕业设计-跑腿系统项目开发实战(附源码+演示视频+LW)
大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…...
stm32通过esp8266连接阿里云平台代码讲解
连接服务器 首先,按照一定的规则,获取连接阿里服务器所需要的ClientID(客户端D)、Username(用户名)、Passward(密码),ServerIP(域名),ServerPort(…...
突发!某大厂机房掉电,MySQL数据库无法启动,紧急恢复过程...
作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复, 安装迁移,性能优化、故障…...
GraphViz+CANdelaStudio实战:如何可视化你的State Diagram状态转换图
GraphVizCANdelaStudio实战:如何可视化你的State Diagram状态转换图 在汽车电子开发领域,状态机的设计和验证是核心工作之一。当你在CANdelaStudio中精心设计了复杂的状态转换逻辑后,如何让这些抽象的状态关系变得直观可理解?这就…...
og3x-shtc3:ESP32/ESP8266平台SHTC3温湿度传感器驱动库
1. 项目概述og3x-shtc3是一个面向 ESP32/ESP8266 平台、专为og3(Open Gateway 3)固件生态设计的轻量级传感器驱动扩展库,核心目标是为 SHTC3 数字温湿度传感器提供完整、可靠且低功耗的 Arduino 框架兼容支持。该库并非独立运行的传感器 SDK&…...
Vue3 使用 Store 的注意事项:官方推荐的方式始终是在 setup 或 composable 函数内部调用 useStore()
在 hook 中错误使用 Store:useStore() 在函数外部调用import { useUserList } from "/hooks"; import { useDepartmentStore } from "/stores"; import type { Department } from "/types"; import { onMounted, ref } from "vu…...
Agent 中的记忆系统:短期记忆、长期知识库与情境缓存最佳实践
Agent 中的记忆系统:短期记忆、长期知识库与情境缓存最佳实践 摘要/引言 开门见山:当我们说AI Agent要“有记忆”时,我们在说什么? 你有没有过这样的经历:和OpenAI的ChatGPT连续聊了20轮Python爬虫优化,…...
豆包写小说软件2025推荐,专业写作助力灵感迸发
豆包写小说软件2025推荐,专业写作助力灵感迸发在当今数字化时代,写小说成为了许多人表达自我、实现创作梦想的途径。然而,对于众多写作者来说,寻找一款专业且实用的写小说软件并非易事。据《2025中国写作软件行业白皮书》显示&…...
构建一个抗揍的 Go TCP 聊天服务:异常兜底与防御性编程实践
构建一个抗揍的 Go TCP 聊天服务:异常兜底与防御性编程实践 在用 Go 实现一个简单的 TCP 聊天室时,实现“上线、下线、广播、私聊”等功能并不难。但如果要把它放到公网,面对真实网络环境中的网络抖动、恶意攻击(如超长消息洪水、…...
jupyter Kernel Disconnected崩溃的修复
问题描述由于博主执行了pip install tensorflow2.13.0这个傻逼操作降级了很多底层库(比如 numpy, typing-extensions 等)导致这些底层的变动把 Jupyter 本身的运行环境搞崩了,启动不了 Python 内核。启动后也显示Disconnected而且点击运行后&…...
最新全开源礼品代发系统源码_电商快递代发_一件代发系统
内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示一、详细介绍 最新全开源礼品代发系统源码/电商快递代发/一件代发系统 测试环境:Nginx PHP7.2 MySQL5.6 二、效果展示 1.部分代码 代码如下(示例): public functi…...
模板号:每一家创业公司都应该有企业官网
模板号(mobanhao.com):让每一家创业公司都能轻松拥有专业官网品牌定位:专注WordPress模板建站,服务创业型企业的数字化伙伴模板号(mobanhao.com)是一家专注于WordPress模板网站搭建的专业服务机构,总部位于中国改革开放的前沿阵地…...
LCD1602自定义字符显示实战:从取模到屏幕显示的完整指南
1. LCD1602显示模块基础入门 第一次接触LCD1602时,我完全被它简单的接口和强大的功能吸引了。这块2行16字符的小屏幕,几乎成了所有嵌入式初学者的"Hello World"实验标配。但很多人可能不知道,它内置的字符生成器(CGROM&…...
