划重点:Zynq学习需要掌握哪些知识?
关注、星标公众号,直达精彩内容
来源:公众号【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端相互配合使用,互联技术是重点了.
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 的特殊网表文件中,这样才能够对其进行实现
......
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧