我的 ZYNQ 系列总结
背景
ZYNQ平台是我接触认识比较久的平台,还算不错,是工控、音视频各行业都可以使用中高端平台。
本文以ZYNQ-7000为例,其实更高级的MPSOC也是一样的。
先看看我自己整理的一份ZYNQ开发的基础技术分解。
其实ZYNQ的有关开发比较纯粹,只需要按照Xilinx官方的约定完成有关的流程以后,就是最常规的嵌入式Linux工作了。
基础
介绍有关ZYNQ的一些基础知识,方便后续调试。
介绍ZYNQ平台是一个怎么样的平台,平台由什么构成,各部分的启动过程是怎么样的;以及常见的开发流程。
介绍 ZYNQ平台中IO的使用,很多时候的驱动配置都与这个基础概念有关。
驱动配置
这里介绍一些驱动配置的有关工作,其他没有提及的驱动原理类似。
Xilinux PS与PL交互::Linux-App读写REG
这是最常规、最简单的嵌入式Linux访问物理地址的流程。
🔒Xilinux PS与PL交互:在Linux Driver中接收来自PL的中断
介绍如何在驱动中正确注册、处理来自PL的中断。
介绍如何在ZYNQ中使用SPI驱动。
介绍如何在ZYNQ中使用I2C驱动。
工具
SDK
我的开发主要是以Linux环境为主,不过,因为这个部分比较简单,所以实际上我简要说明一下,,有兴趣去了解一下eclipse的,大部分的操作基本相同。
Xilinux PS与PL交互:裸机程序读写FPGA-REG
介绍如何访问PL侧的寄存器(对PS端来说,视为地址)
虽然很多人喜欢在Linux环境下搞开发(例如我),但是也有一部分喜欢桌面开发的朋友。
Petalinux
Petalinux是一个比较好用的Zynq-Linux构建的工具,本文介绍如何使用它构建一个基础镜像,此后可以基于这个项目进行修改、编辑。
拓展:ZYNQ:加速 PetaLinux 工程编译、复制 PetaLinux 工程,介绍如何加快速度,减少在Petalinux上的等待时间
ZYNQ:提取PetaLinux中Linux和UBoot配置、源码
介绍如何从Petalinux中提取Linux镜像作为常规开发(Petalinux的构建是真的很慢)。
介绍如何在一个Petalinux工程中使用不同的HDF文件
介绍Petalinux的常见命令,适用于高级开发人员使用。
调试
介绍 Uboot 调试中一次比较基础的经验,主要与uboot 的环境变量有关。
介绍如何在ZYNQ平台上烧录PL的Image,方式有多种。
介绍如何从0构建一份带有部分读取外设配置版本的Linux系统。
介绍如何使用工具打包生成板子能够使用的镜像。