我的 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系統。
介紹如何使用工具打包生成板子能夠使用的鏡像。