来源:公众号【ZYNQ】
ID :FreeZynq
作者:李肖遥
ZYNQ是什么?
ZYNQ系列是赛灵思公司(Xilinx)推出的行业第一个可扩展处理平台.
通俗的说,zynq 是一款xilinx的带有ARM核的FPGA芯片,构成了所谓的“全可编程soc”片上系统,潜在意思是单个硅芯片就可以用来实现整个系统的功能。
具体来说,是由一个双核的ARM构成的处理系统PS和一个等价于一个片上FPGA可编程逻辑部分部分构成,它具有集成的存储器和外设的高速通信接口。
按照理解并不能说是一个嵌入arm核的FPGA。从它的启动过程就可以发现,绝对是arm主导的,所以称它为以高性能FPGA为外设的双核arm或许更为合适.
为什么使用ZYNQ?
那么为什么使用ZYNQ呢,或许我们从这个视频可以找到答案.
怎么去学习ZYNQ呢?
或者说怎么使用它开发呢?zynq的开发,可以从FPGA+soc,ARM+linux两个方面来考虑,我想分为以下几个点,一步一步学习ZYNQ.
1
了解ZYNQ,环境搭建
(1)了解ZYNQ的介绍,包括PS、PL、APU基本概念
(2)在网站上找到对应型号的原理图和相关资料。
(3)在xilinx的官网上找资料www.xilinx.com/support/index.htm
wiki.xilinx.com/zynq-tools
www.xilinx.com/university/zynq/index.htm
(4)vivado,sdk环境的安装使用,Linux系统的安装,petalinux使用等等,这里大家可以参考ZYNQ|开发工具
(5)当然,这一切都需要有一块开发板,能够给我们调试,这里大家也可以参考以下ZYNQ|开发板推荐
2
ZYNQ PL端入门基础
(1)说白了,就是需要有一定的Verilog基础,这个并不难
(2)引脚约束文件XDC(constraints)
(3)综合->实现->生成比特流,这里有完整的日志文件
(4)必要的调试手段,仿真软件的使用,仿真文件的编写
......
3
ZYNQ SOC入门基础
(1)MIO
(2)EMIO
(3)User_IP
(4)UBOOT
(5)XADC
(6)ZYNQ PL 中断请求
(7)ZYNQ 定时器中断
(8)UART 串口中断
(9)User GPIO
(10)AXI_Lite (划重点)
(11)AXI PWM
(12)AXI DMA
(13)LWIP
(14)BRAM
.........
这里有很多,很多情况都是PL和PS端相互配合使用,互联技术是重点了.
4
ZYNQ Linux系统开发
(1)搭建工程,Ubuntu等
(2)包括Uboot编译,linux内核kernel编译,设备树和文件系统
(3)android移植,Linux移植等等
(4)一键制作启动盘
(5)QSPI 烧写 LINUX 系统
(6)自动挂载 8GB EMMC 板载内存
(7)在线升级 QSPI 镜像(U 盘方式)
(8)hello 是一个经典的程序, 是学习入门必学的一个简单程序,能跑 hello linux 意味着编程者已经跨入编程的大门了
(9)Hello_Qt在开发板上的运行
(10)使用 Petalinux 定制 Linux 系统
这些都是大学问了,涉及的面很广,嵌入式与fpga开发相关联.
5
ZYNQ HLS 高层次综合
(1)搭建Modelsim和Vivado联合调试环境
(2)shift_led实验
(3)ImageLoad 实验
(4)Skin_Dection实验
(5)Sobel算子硬件HLS实现
(6)基于Hough变换的圆检测
(7)傅里叶变换的HLS实现
(8)OTSU自适应二值化
(9)音频滤波
(10)快速角点检测的HLS实现
(11)HLS车牌识别
HLS 是高层次综合的的简称, “综合”即“Synthesis”, 在 ug627《XST User Guide》 中解释综合是将程序代码翻译为称为 NGC 的特殊网表文件中,这样才能够对其进行实现
......
最后
整理不易,希望能够共同玩转ZYNQ,如果您觉得本篇文章对您有作用帮助,请转发给更多的人,点一下好看就是对小编我的最大支持,非常感谢!
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
推荐阅读:
初学者对ZYNQ的一些疑惑和BlackGold板入门视频
ZYNQ|开发板推荐
ZYNQ|开发工具
ZYNQ|资料推荐
关注微信公众号『ZYNQ』,后台回复“m”,查看更多精彩内容。
长按识别图中二维码关注