【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 板卡,教程文档写的也很不错,实验项目与实现方法也是各不相同,资料也很齐全,建议也都看一看,学习一下设计思路与设计方法,考虑其中的设计特点。最主要的还是自己

多学多练多思考

相关文章
|
5月前
stm32f407探索者开发板(十)——时钟系统精讲
stm32f407探索者开发板(十)——时钟系统精讲
216 0
|
5月前
stm32f407探索者开发板(十五)——NVIC中断优先级管理
stm32f407探索者开发板(十五)——NVIC中断优先级管理
249 0
|
Linux 芯片
嵌入式Linux系列第18篇:一个网友的引脚使用问题
嵌入式Linux系列第18篇:一个网友的引脚使用问题
|
Ubuntu Linux
嵌入式Linux开发: 龙芯2K1000使用EJTAG烧写POPM
嵌入式Linux开发: 龙芯2K1000使用EJTAG烧写POPM
617 0
嵌入式Linux开发: 龙芯2K1000使用EJTAG烧写POPM
|
Linux C语言 芯片
韦东山Linux驱动入门实验班(4)LED驱动
韦东山Linux驱动入门实验班(4)LED驱动
270 0
|
存储 Linux API
ZYNQ裸板:串口篇
使用 PS 的时候,通常会添加 UART 控制器,用于打印信息和调试代码。除此之外, PS 在和外部设备通信时,也会经常使用串口进行通信。先从UART控制器开始讲起吧,从简单的测试再到工程实例。
933 0
ZYNQ裸板:串口篇
|
存储 安全 存储控制器
ZYNQ裸板:中断篇
中断对于单片机过来的我们来说,相对也算比较熟悉了,还是严谨一点从头开始说吧。中断是什么?是一种当满足要求的突发事件发生时通知处理器进行处理的信号。中断可以由硬件处理单元和外部设备产生,也可以由软件本身产生。对硬件来说,中断信号是一个由某个处理单元产生的异步信号,用来引起处理器的注意。对软件来说,中断还是一种异步事件,用来通知处理器需要改变代码的执行,当然,轮询所产生的中断的过程是同步的。
936 0
ZYNQ裸板:中断篇
|
异构计算
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
309 0
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
|
存储 Linux 数据安全/隐私保护
ZYNQ - 嵌入式Linux开发 -10- ZYNQ启动流程分析
ZYNQ - 嵌入式Linux开发 -10- ZYNQ启动流程分析
1124 0
ZYNQ - 嵌入式Linux开发 -10- ZYNQ启动流程分析
|
存储 缓存 网络协议
ZYNQ裸板:AXIDMA篇(简单模式)
DMA(Direct Memory Access,直接存储器访问)是计算机科学中的一种内存访问技术。它允许某些计算机内部的硬件子系统可以独立地直接读写系统内存,而不需中央处理器( CPU)介入处理。 DMA 是一种快速的数据传送方式, 通常用来传送数据量较多的数据块
1309 0
ZYNQ裸板:AXIDMA篇(简单模式)

热门文章

最新文章