⑴ xilinx-zynq soc與嵌入式linux設計實戰指南 怎麼樣
本書系統介紹了XilinxZynq7000SoC與嵌入式Linux設計方法與實踐。全書以ZynqPS(ARMCortexA9)為核心,以ZynqPL(FPGA)為可編程外設,詳細介紹了從底層硬體系統到上層操作系統及GUI設計原理和方法,詳細講解了底層外設介面控製程序、嵌入式Linux操作系統移植以及應用程序。全書共分14章,內容包括Zynq初體驗、Zynq集成開發環境、Zynq啟動流程及鏡像製作、GPIO原理及實現、中斷原理及實現、定時器原理及實現、通用非同步收發器原理及實現、OLED原理及實現、Zynq雙核運行原理及實現、嵌入式Linux系統構建、嵌入式Linux系統實現、uboot原理及移植、Linux內核原理及移植和嵌入式網路視頻設計及實現。
本書由淺入深,從最簡單的流水燈、HelloWorld開始,使讀者可以完成裸機控製程序設計、嵌入式Linux環境搭建、嵌入式操作系統移植以及應用程序設計等。
本書理論與實踐相結合,可以作為信息類專業大學本科高年級和研究生的教學參考用書,也可作為從事嵌入式系統設計的工程技術人員參考用書。
⑵ zynq7000術語詳解,不懂啥是pl,ps,apu,scu
摘要:本文介紹與XILINX的EPP平台成員, ZYNQ晶元相關的縮寫術語和含義. 與簡單翻譯術語不同,本文對每個縮寫在本行業其他公司的展開含義也略作介紹, 避免混淆. 對術語的技術功能也作簡單介紹.
8月份學校放暑假, 大學計劃這邊緊急的事不多, 因此通常是俺的充電和學習時間.
本月的學習任務嘛, 當然是ZYNQ. 資料不多,一個是今年3月份出來的UG804, 是一個簡介性質的東東, 24頁, 另一個是UG585, 技術手冊,目前有1804頁. 目前都還是保密的, 合作夥伴需要簽NDA才能看到.
去年ZYNQ剛出來的時候,文檔還沒有,俺只有對著僅有的一個框圖,對其中的縮寫瞎猜了一番. 當時還寫了博客. 信馬由韁-XILINX的ARM晶元初探(之一). 看到UG804,終於有機會驗證俺當時猜的縮寫展開到底對不對.
看了之後才發現, 框圖中那點看不懂的縮寫, 比起UG804中引入的各種縮寫, 簡直是小巫見大巫. 為了給你一個概念, 假設你3年後碰到一個用過ZYNQ的工程師, 和你說了下面一句話, 你能聽懂多少:
經理啊, 我的PS啟動了,可是PL還沒載入, 這時,APU復位檢查了沒問題, MIO連得好好的, EMIO看上去也工作正常,你說我該查GIC呢, 還是AFI呢 ?
坑爹啊!比火星文還火星文的話聽了傷不起啊~~~.下面,開始逐個解釋新出現的,或者冷僻的縮寫,繼續看文檔時看見了,才能反映上來是啥意思.
假設你3年後碰到一個用過ZYNQ的工程師, 和你說了下面一句話, 你能聽懂多少:
經理啊, 我的PS啟動了,可是PL還沒載入, 這時,APU復位檢查了沒問題, MIO連得好好的, EMIO看上去也工作正常,你說我該查GIC呢, 還是AFI呢 ?
PS: 處理系統 (Processing System) , 就是與FPGA無關的ARM的SOC的部分。
PL: 可編程邏輯 (Progarmmable Logic), 就是FPGA部分。 之所以叫PL,而不是叫FPGA,我想,原因主要是考慮到讓搞軟體的兔子們不要看了以後望而生畏。 邏輯嘛,搞軟體的也要講邏輯是不?可編程,軟體就是編程是不?
ZYNQ,往大里說,就是兩大功能塊,PS 部分和 PL部分, 說白了,就是ARM的SOC部分,和FPGA部分。
下一個層級, APU部分:
APU: 應用處理器單元(Application Processor Unit). 位於PS裡面的中心位置。 這個名字起的,就有點學問了。
APU這三個字,AMD公司曾經用過,特指全稱是「Accelerated Processing Units」,加速處理器,它是融聚了CPU與GPU功能的產品,電腦上兩個最重要的處理器融合,相互補足,發揮最大性能。XILINX 的APU與AMD的APU在縮寫上就是截然不同的兩個詞, 不能混淆了。
APU 這個詞,在Xilinx內部的術語中,也是撞車了的。 在XILINX 的 PowerPC體系中, 有一個輔助處理單元「Auxiliary Processing Unit」 的概念,指的是在PowerPC硬核外掛的浮點協處理器之類的單元。
在這個位置上的處理器, 還有各種其他的叫法, 有MCU (微控制器處理單元Microcontroller Unit), MPU (微處理器單元Microprocessor Unit),等等。 MCU這個叫法,暗示了處理器功能不強,只能搞搞輸入輸出控制啊,寫個小狀態機啊, 一般都是8位機。 MPU呢,就更先進了一些,成prcessor了,這意味著處理器通常是32位的, 能幹點計算的事。 但是, 有一個micro詞根在裡面, 說明乾的是小活, 通常沒有正式的和全尺寸的操作系統, 通常沒有內存管理單元MMU。 ARM 的Cortex-M系列是干這類活的。
APU, 帶了Application這個詞, 意味著在上面可以跑應用程序, 暗示著這個系統是需要全尺寸的操作系統的, 和現在炙手可熱的應用商店app store 遙相呼應。
APU裡面具體包含的內容嘛,就是雙ARM-CortexA9核,加上高速緩沖,DMA,定時器,中斷控制,浮點和NEON協處理,硬體加速器一致性控制器ACP神馬的。 也就是,處理器核心部分。
套用時下越來越流行的詞彙,「嵌入式計算」, "embedded computing", 可以這么說, 用MCU,MPU搭出來的東東,通常叫嵌入式系統。 而APU搭出來的東東, 就夠格叫嵌入式計算系統了。
TTC, 這個詞,當年猜了半天也拿不準,看了文檔,發現,是Triple Time Counter的意思。 就是這個計數器裡面有3個獨立通道, 可以獨立計數。 掛在APB上,為系統或外設提供定時或計數服務的。
WDT, 看門狗定時器,有兩個, 分別監視ARM-Cortex A9用的。 如果軟體跑飛,無法清定時器,一段時間後,看門狗就復位。
SWDT,系統級看門狗定時器, 這個看門狗的時鍾和復位信號,都可以來自於晶元外部, 這樣,即使系統有嚴重故障,比如時鍾頻率本身都有問題了, 仍然可以通過與系統無關的外部信號計數,計數滿就復位。
SCU, Snoop Control Unit, 用來保持雙核之間的數據Cache的一致性。 也就是是說,第一個A9
處理器寫存儲時,只是寫在了緩存里,沒有進主存, 如果第二個A9讀操作,涉及到第一個寫臟了的數據段, SCU要保證第二個A9的緩存里是最新的數據。 如果第二個A9寫同樣數據段的數據,需要在第一個中體現出寫的內容。 SCU的存在,才使得兩個核成互相聯系的「雙核」,才能成為MPsoc。 在原先XILINX的雙PowerPC的晶元中, 是木有這個東東的。 不少學校的老師拿XILINX的雙powerpc練手和教學,從頭搭一個Snoop協議在裸的雙PowerPC中,倒也不錯。
⑶ xilinx的zynq-7000 FPGA,打開vivado新建block design,添加zynq處理器,處理器模塊上的fixed_io是什麼
你可以點開加號就可以看到具體的信號,裡麵包含54個MIO和DDR_VRN、DDR_VRP,PS的時鍾復位等一些系統信號。
⑷ 朋友問我懂不懂ZYNQ,我一頭霧水,不知道它指的是什麼有沒有嵌入式系統的朋友可以給我解釋一下
ZYNQ
ZYNQ系列是賽靈思公司(Xilinx)推出的行業第一個可擴展處理平台,旨在為視頻監視、汽車駕駛員輔助以及工廠自動化等高端嵌入式應用提供所需的處理與計算性能水平。該系列四款新型器件得到了工具和IP 提供商生態系統的支持,將完整的 ARM® Cortex™-A9 MPCore 處理器片上系統 (SoC) 與 28nm 低功耗可編程邏輯緊密集成在一起,可以幫助系統架構師和嵌入式軟體開發人員擴展、定製、優化系統,並實現系統級的差異化。
⑸ 如何評價Xilinx推出的ZYNQ系列
我兩年前接觸zynq,基於它做了一個4G均衡器,獲得了Xilinx開源硬體大賽二等獎。ZYNQ屬於ARM硬核搭配FPGA,號稱真正的SOC,FPGA的話屬於7系列,資源還是不錯的,當時做得演算法跑到了150M時鍾,帶寬為600MB/s,還算挺快的。
但是我覺得除了通信領域,雷達演算法什麼的,其他領域沒什麼用。再者這東西賣3000多,功耗也極高,做智能硬體那是扯淡。
還有,FPGA的穩定性實在太差。我用FPGA做ASIC驗證的時候,例化GTH做SATA的PHY,經常會掉鏈子,導致device和HOST失去鏈接。之前還出過一個非同步FIFO在沒有任何輸入情況下,輸出震盪2s的事情,簡直太扯了。
⑹ xilinx官網裡面有zynq讀寫ddr3的常式嗎
FPGA是現場可編程門陣列的英文縮寫,而Zynq是Xilinx公司出品的一種包含有雙ARM Cortex-A9 MPCore處理器系統的FPGA。 因此,FPGA是一個大的范疇,是一種器件的總稱;而Zynq只是某個廠商的一種FPGA產品,是FPGA產品的其中一個子集而已。 FPGA和Zyn...
⑺ Xilinx Zynq Z-7020這款FPGA是完全使用C語言開發的嗎
硬體的最底層都是機器碼,匯編指令,但是開發者可以使用任何語言開發,最後都會被編譯器轉換成機器碼。你這個硬體的一般都是用c開發的。
⑻ zynq7000挺強的,但是上手有點難,板子也比較貴,怎麼開始學習,請各位指教
把軟體下下來 看xilinx的資料 zynq有大學計劃的便宜板子
⑼ 如何學習zynq乙太網控制器及協議棧
第 9 章 ZedBoard 入門
前面大家已經對 ZYNQ 架構以及相應的開發工具有一定的認識,接下來我們將帶領大家來一起 體驗 ZYNQ,體驗軟硬體協同設計的魅力。由於時間的關系,下面的一些實驗(本章及後續章節的實驗) 可能有不完善的地方,歡迎讀者向我們反饋。 9.1 跑馬燈 本實驗將指導大家使用 Vivado 集成設計環境創建本書的第一個 Zynq 設計。這里,我們使用跑馬燈 這個入門實驗來向大家介紹 Vivado IDE 的 IP Integrator 環境,並在 Zedboard 上實現這個簡單的 Zynq 嵌 入式系統。之後,我們將會使用 SDK 創建一個簡單的軟體應用程序,並下載到 Zynq 的 ARM 處理器中, 對在 PL 端實現的硬體進行控制。本實驗分為三個小節來向大家進行介紹: ? 第一節我們將使用 Vivado IDE 創建一個工程。 ? 在第一節的基礎上,第二節我們將繼續構建一個 Zynq 嵌入式處理系統,並將完成後的硬體導入 到 SDK 中進行軟體設計。 ? 最後一節我們將使用 SDK 編寫 ARM 測試應用程序, 並下載到 ZedBoard 上進行調試。 實驗環境:Windows 7 x64 操作系統, Vivado2013.4,SDK 2013.4
9.1.1 Vivado 工程創建
1) 雙擊桌面 Vivado 快捷方式 ,或者瀏覽 Start > All Programes > Xilinx Design Tools > Vivado
2013.4 > Vivado 2013.4 來啟動 Vivado. 2) 當 Vivado 啟動後,可以看到圖 9-1 的 Getting Started 頁面。
圖 9- 1 Vivado 開始界面
3) 選擇 Create New Project 選項,圖 9-2 所示的 New Project 向導將會打開,點擊 Next。
圖 9- 2 New Project 對話框 4) 在 Project Name 對話框中,輸入 first_zynq_design 作為 Project name, 選擇 C:/XUP/Zed 作為 Project location,確保 Create project subdirectory 被勾選上,如圖 9-3,點擊 Next。
圖 9- 3 Project Name 對話框 5) 在 Project Type 對話框中,選擇 RTL Project,確保 Do not specify sources at this time 選項沒有 被勾選,如圖 9-4,點擊 Next。
圖 9- 4 Project Type 對話框 6) 在 Add Source 對話框中, 選擇 Verilog 作為目標語言,如果你對 VHDL 熟悉的話, 你也可以 選擇 VHDL,如果這里你忘記了選擇,在工程創建完成後,也可以在工程設置中選擇你熟悉的 HDL 語言。如果你已經有了源文件,在這里就可以選擇 Add file 或者 Add directory 進行添加, 由於我們沒有任何的源文件, 所以這里我們直接點擊 Next 即可,如圖 9-5。
圖 9- 5 添加源文件 7) 在 Add Existing IP 對話框中,點擊 Next。 8) 在 Add Constraints 對話框中,點擊 Next。 9) 在 Default Part 對話框中,在 Specify 框中選擇 Boards 選項,在下面的 Board 列表中選擇 ZedBoard Zynq Evaluation and Development Kit,點擊 Next,如圖 9-6。
圖 9- 6 晶元選擇 10) 在 New Project Summary 對話框中,點解 Finish 完成工程創建,至此,我們已經使用 Vivado 創建了一個 Zynq 設計的工程框架,圖 9-7 為 Vivado 的工程界面,在第四章我們已經對該界面 進行過介紹,如果還不熟悉的讀者再回到前面復習一下。下面我將使用 Flow Navigator 的 IP Integrator 功能完成第二節的嵌入式系統設計。
圖 9- 7 Vivado 工程界面
9.1.2 在 Vivado 中創建 Zynq 嵌入式系統 這一節我們將創建一個簡單的 Zynq 嵌入式系統,該系統使用 Zynq PL 部分實現一個通用 I/O 控制 器 (GPIO),控制器同 ZedBoard 上的 8 個 LED 相連接,並且通過 AXI 匯流排連接到 PS 端,這樣我們就可 以通過將要在第三小節中實現的 ARM 應用程序來對 LED 進行控制。系統結構圖如圖 9-8 所示。