【ZYNQ】那些年我们拿下了 Zynq

简介: 【ZYNQ】那些年我们拿下了 Zynq

小菜鸟的 Zynq 学习经验分享~

资料来源:黑金 Zynq7035 开发板配套资料,完全适合于 Zynq 学习。

文末获取资料!

另外四个是关于 Altera FPGA 的学习资料。

其实很多东西都是相通的,要学会举一反三


搭建开发环境

1、Windows 下安装 Vivado

Vivado 是 Xilinx FPGA 开发的主要软件(2019年10月,赛灵思推出了Vitis)。


下载软件包后解压缩,安装过程较为简单,自行探索。


问:教程文档里不是有安装步骤吗?

答:这不就是让你们自行探索嘛。

问:我想用高版本的 Vivado 行不行?

答:Vivado> 各版本兼容性不好,资料例程也是 Vivado 2017.4 版本创建,最好一致。

问:都 2023 年了呀

答:你可以试试呀~


注意:软件安装路径不要有中文!Vivado 工程路径不要有中文!


顺便提一下,计算机名、账户名最好也不要是中文,有时会出现一些玄学问题,脑壳痛……


最新发现,某电脑管家软件会拦截 Vivado 某些进程,导致综合失败,所以玩 Vivado 前最好都关掉!

2、虚拟机 + Ubuntu,在 Linux 下安装 Vivado + Petalinux,配置 NFS

Linux 开发环境主要用于 Zynq 平台 Linux 应用、即嵌入式 Linux 开发。


可以先安装 虚拟机 + Ubuntu,熟悉 Linux 基础操作,熟悉常用命令。


Vivado 可以先不装,但是如果你学得快的话……建议:虚拟机配置时,硬盘设大一点,不然后面存储不够了还得扩容,比较麻烦(PS:我配置了 200G) 。


3、PuTTY - 友情推荐

PuTTY 是一个 Telnet、SSH、rlogin、纯 TCP 以及串行接口连接软件。可用来远程管理 Linux。

这里主要使用 Serial 功能,用来交互、查看输出信息或调试时用来打印 log。

这个可以去官网下载最新版本。


Zynq 开发的四种方式

  • 纯 PS 开发,即 ARM 开发
  • 纯 PL 开发,即 FPGA 开发
  • PS 无操作系统 + PL 开发,即裸机开发
  • PS 有操作系统 + PL 开发,即使用 RTOS 或 Linux 开发


当前阶段先从 FPGA 开发学起,然后再去学 ARM 开发,最后再学习联合开发。

Verilog 学习


问:为什么不学 VHDL?

答:因为 Verilog 好学易上手,资料多。

问:C/C++ 还要再学吗?

答:如果玩单片机玩的比较熟的话,基本可以了。

推荐一个 Verilog 练习网站:https://hdlbits.01xz.net/wiki/Main_Page


开始实践

1、PL 开发

  • 学习初期
  • 内容:熟悉 Verilog 语法,熟练使用 Vivado 软件,熟悉 FPGA 开发流程;
  • 建议:根据文档实现简单实验,比如点灯,按键控制 LED、串口通信等;
  • 目标:脱离教程与例程,从零独立完成一个综合小项目,具体做啥可以自己找。
  • 学习中期
  • 内容:常用 IP 核及复杂资源的使用;
  • 建议:可以根据需要去学习,有方向更有效率;
  • 目标:对于新东西,有手册就要会用。
  • 学习后期
  • 内容:需要什么就学什么;
  • 建议:可以干大事了;
  • 目标:干大事。

注:一般 Zynq 开发板板载 UART 接在了 PS 端,PL 端没有设计 UART 接口,但是可以这样:

所以说,只要你想,就没有做不到的事情,没有条件也可以创造条件


2、PS 开发

Vivado 内置了 ARM 开发用到的 SDK 开发工具,可以根据需求自行探索学习。

对于 ARM 开发,学过 32 的应该会很快上手。


3、PS + PL 开发

学习到这一步,真的可以自行探索了……

强烈建议


  • 多动手!多动手!多动手!
  • 别光看!别光看!别光看!
  • 实践出真知!
  • 多学!多练!多思考!


FPGA 相关论坛、资料开源、学习网站推荐:

  • 米联客:https://www.uisrc.com/
  • 正点原子:http://47.111.11.73/forum.php
  • 野火电子:https://www.firebbs.cn/
  • 明德扬:http://www.mdy-edu.com/
  • 小梅哥:http://www.corecourse.cn/
  • 哔哩哔哩:https://www.bilibili.com/
  • 待补充……



学会自己去寻找资源、获取资源和利用资源,很重要!!!


注:学习参考资料也不仅仅局限于开发板配套资料,也可参考其他板卡开源资料,比如正点原子、野火电子都推出了 FPGA 板卡,教程文档写的也很不错,实验项目与实现方法也是各不相同,资料也很齐全,建议也都看一看,学习一下设计思路与设计方法,考虑其中的设计特点。最主要的还是自己

多学多练多思考

相关文章
|
XML JavaScript 前端开发
鸿蒙开发(17)---WebView组件
鸿蒙开发(17)---WebView组件
1968 0
鸿蒙开发(17)---WebView组件
|
存储 缓存 开发工具
ZYNQ-双核AMP通信(一)
ZYNQ-双核AMP通信(一)
2200 0
ZYNQ-双核AMP通信(一)
|
机器学习/深度学习 编解码 自动驾驶
全新高性能 FPN | ssFPN 教您如何修改 FPN 让大小目标在目标检测中都有提升!!!
全新高性能 FPN | ssFPN 教您如何修改 FPN 让大小目标在目标检测中都有提升!!!
835 0
全新高性能 FPN | ssFPN 教您如何修改 FPN 让大小目标在目标检测中都有提升!!!
|
小程序 开发者 异构计算
小程序真机调试反应很慢卡顿,界面跳转之后,页面出现空白,无法点击等问题解决方案
小程序真机调试反应很慢卡顿,界面跳转之后,页面出现空白,无法点击等问题解决方案
1634 0
小程序真机调试反应很慢卡顿,界面跳转之后,页面出现空白,无法点击等问题解决方案
|
4月前
|
安全 固态存储 Java
通用权限管理模型详解:从 ACL 到 RBAC0/1/2/3
本文深入解析ACL与RBAC两种主流权限模型,重点剖析RBAC的四个层级(RBAC0-RBAC3),涵盖角色继承、职责分离等核心机制,并结合实际场景给出选型建议,助你构建安全、可维护的权限体系。
|
人工智能 弹性计算 Cloud Native
平头哥杨平超:倚天CPU架构以及产品特性介绍
2023年8月8日,【倚天实例迁移课程】首节课程《倚天CPU架构以及产品特性介绍》正式上线,由平头哥倚天解决方案架构师杨平超主讲,内容涵盖:倚天710芯片概述;倚天710的主要特点;倚天710应用落地介绍,本期节目也在阿里云官网、阿里云微信视频号、阿里云钉钉视频号、InfoQ官网、阿里云开发者微信视频号、阿里云创新中心直播平台&微信视频号同步播出。
平头哥杨平超:倚天CPU架构以及产品特性介绍
|
机器学习/深度学习 PyTorch 算法框架/工具
使用BatchNorm替代LayerNorm可以减少Vision Transformer训练时间和推理时间
本文探讨了在Vision Transformer (ViT)架构中采用批量归一化(BatchNorm)替代层归一化(LayerNorm)的影响。ViT以其在计算机视觉领域的优异表现而闻名,但存在训练耗时长及对小型数据集推理速度慢的问题。文章提出两种改进模型:ViTBNFFN,在前馈网络中加入BatchNorm;ViTBN,则全面替换为BatchNorm。
428 1
使用BatchNorm替代LayerNorm可以减少Vision Transformer训练时间和推理时间
|
Java uml
[UML] --- vscode中配置plantuml
[UML] --- vscode中配置plantuml
1086 0
|
Linux 内存技术 Perl
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
2568 0
|
人工智能 安全 网络安全
OpenAI:启用多重身份验证功能MFA
【2月更文挑战第22天】OpenAI:启用多重身份验证功能MFA
669 1
OpenAI:启用多重身份验证功能MFA