当前位置: 首页 > news >正文

FPGA----基于ZYNQ 7020实现petalinux并运行一个程序

引言:上一节我们讲到了使用Alinx 7020b自带的sd卡中的petalinux进行epics的编译,但此种方案个性化程度不足。如:我们项目需要FPGA侧的配合,那么我们需要重新编译petalinx。

注意:本文的知识点来自下面两篇文章,我已经假设大家对petalinux有了一定的了解。

FPGA----ZCU106使用petalinux 2019.1(全网最详)-CSDN博客文章浏览阅读3.5k次,点赞18次,收藏31次。本文完成了Vivado 2019.1版本下的基于ZCU106的全部linux系统移植 https://blog.csdn.net/qq_37912811/article/details/134519735FPGA----基于ZYNQ 7020实现EPICS通信系统-CSDN博客文章浏览阅读966次,点赞9次,收藏23次。本文详细介绍了如何在EPICS(ExperimentalPhysicsandIndustrialControlSystem)环境中创建一个IOC(Input/OutputController),编写aiRecord的驱动程序,包括dbd文件和C语言源代码,然后编译并启动IOC,最后通过通道访问查看运行结果,实现每秒生成0-999随机数的功能。 https://blog.csdn.net/qq_37912811/article/details/1471689801、本文软硬件:AX7Z020b、Vivado 2019.1、Ubuntu 18.04.1、make 3.81

这些配置在我先前的文章都可以找到下载地址。

2、在sdk中找到导出的.hdf文件

3、创建ax_peta工程

# 创建ax_peta工程
petalinux-create --type project --template zynq --name ax_peta
# 创建hardware文件夹,将xxx.hdf文件(在vivado中launch sdk生成的)存入
mkdir harware
# 进入工程
cd ax_peta
# 配置工程
petalinux-config --get-hw-description ../hardware
# 依据我之前的博客配置即可# 配置内核,默认配置保存并退出即可
petalinux-config -c kernel# 配置根文件系统,默认配置保存并退出即可
petalinux-config -c rootfs

4、编译工程,并导出文件

petalinux-build# 如果提示需要配置权限,那么就输入下述命令
sudo chmod -R 777 linux-xlnx-xlnx_rebase_v4.19_2019.1/sudo chmod -R 777 linux-xlnx-xlnx_rebase_v4.19_2019.1/scripts/

 出现下图就是编译好了

5、进入到images/linux生成image.ub文件

# 进入文件夹
cd images/linux# 生成imag.ub
petalinux-package --boot --u-boot --fpga --force

 6、将7020设置为sd卡启动方式,正常买回来就是sd卡启动,挨着12就是sd卡启动了

3种启动方式MODE在图中白色表格有写。

7、格式化SD卡,将BOOT.bin与image.ub移动到SD卡中,上电启动。 

 7、登录的用户名为:root,密码为:root

8、编写一个linux程序

FPGA----ZCU106使用petalinux 2019.1的第一个app开发_petalinux app-CSDN博客文章浏览阅读746次。本文实现了xilinx sdk与petalinux的联合使用,在sdk仿真完毕后,可以将程序移植到petalinux中运行_petalinux app https://blog.csdn.net/qq_37912811/article/details/134581294(1)创建项目

平台选linux,处理器选A9,语言选C,因为咱们没有装C++的标准库

(2)通过命令配置zynq的ip

# 查询网络接口
ls /sys/class/net# 保证172.24.14.68与上位机是同一网段,上位机ping即可
ifconfig eth0 172.24.14.68 netmask 255.255.255.0 up

 右下角设置Linux代理

(3)启动程序

 出现下面结果就是运行成功了

http://www.xdnf.cn/news/301519.html

相关文章:

  • 赛灵思 XCZU11EG-2FFVC1760I XilinxFPGAZynq UltraScale+ MPSoC EG
  • 探索Hello Robot开源移动操作机器人Stretch 3的新技术亮点与市场定位
  • 在 GitLab 中部署Python定时任务
  • 在与大语言模型交互中的礼貌现象:技术影响、社会行为与文化意义的多维度探讨
  • 告别异步复杂性?JDK 21 虚拟线程让高并发编程重回简单
  • Webview通信系统学习指南
  • 基于C++的IOT网关和平台7:github项目ctGateway设备协议开发指南
  • 点分治解析
  • Spark,配置hadoop集群1
  • Spring AI Alibaba-03- Spring AI + DeepSeek-R1 + ES/Milvus + RAG 智能对话应用开发全流程
  • 从黔西游船侧翻事件看极端天气预警的科技防线——疾风气象大模型如何实现精准防御?
  • 微服务框架中@FeignClient远程调用,请求无法携带问题处理
  • 【工具】解析URL获取实际图片地址下载原始FFHQ图像
  • 如何将本地 Jar 包安装到 Maven 仓库(以 Aspose 为例)
  • 小芯片大战略:Chiplet技术如何重构全球半导体竞争格局?
  • aws平台windows虚拟机扩容
  • Eigen矩阵的平移,旋转,缩放
  • 制造企业PLM系统成本基准:2025年预算分配与资源成本率的5种优化模型
  • AI智能体|扣子(Coze)实战【天气查询插件开发教程】
  • IAA-Net:一种实孔径扫描雷达迭代自适应角超分辨成像方法——论文阅读
  • centos的根目录占了大量空间怎么办
  • nut-list和nut-swipe搭配:nut-cell侧滑定义无法冒泡打开及bug(含代码、案例、截图)
  • 高并发PHP部署演进:从虚拟机到K8S的DevOps实践优化
  • 1. 视频基础知识
  • Java高频面试之并发编程-12
  • 详细教程:如何在vs code里面给普通的HTML搭建局域网服务器给其他设备访问
  • react-14defaultValue(仅在首次渲染时生效)和value(受 React 状态控制)
  • vue项目中渲染markdown并处理报错
  • Electrolink信息泄露(CVE-2025-28228)
  • 图像处理软件imgPro—调参救星!