By Adam Taylor
在過去一周中,我接到了很多不同人的來信,他們正在使用以Zynq為基礎(chǔ)的開發(fā)工具。他們非常想知道怎么樣去把MicroZed系列博客教程應(yīng)用到他們所選擇的硬件平臺(tái)上。加上Avnet MicroZed有許多其他一些的著名開發(fā)工具,這些工具都是基于Zynq版本。以下是一系列著名的Zynq-based開發(fā)板,這些開發(fā)板展示了Zynq SoC在每個(gè)板子上的變化:
MicroZed – XC7Z010
ZedBoard – XC7Z020
ZC702 – XC7Z020
ZC706 – XC7Z045
ZYBO – XC7Z010
為什么其他一些硬件工具的使用者不想按照網(wǎng)上非常好的Zynq博客教程走呢?事實(shí)上,這是很容易做的。讓我們回到十二個(gè)月前我們這個(gè)系列教程的第一篇博客,在這篇博客里面,我們定義了我們要使用的硬件的配置信息。此時(shí)此刻,我們可以申明我們所用的板子和工程,如下圖所示:
選擇理想的板子來配置合適的SoC,外圍環(huán)境和板上外設(shè)——比如,每一個(gè)外設(shè)應(yīng)該連接到哪一個(gè)MIO pins上,連同一些對(duì)MIO pins來說需要的配置信息。最重要的是,這個(gè)選擇也分配了DDR DRAM的地址位置和配置參數(shù),這個(gè)避免我們手動(dòng)輸入信息。下圖顯示了MicroZed DDR的配置信息:
但是如果我們想用一個(gè)默認(rèn)缺省built的板子該怎么辦?在這種情況下,我們可以導(dǎo)入一個(gè)xml文件,這個(gè)文件中定義了我們打算使用的板子的配置信息。這個(gè)文件通常是由板子的制造商提供,如果沒有的話,需要有一個(gè)。
導(dǎo)入這些文件之一很簡(jiǎn)單:
在你的開發(fā)板或者開發(fā)工具中,創(chuàng)建一個(gè)指向目標(biāo)器件的工程。
創(chuàng)建一個(gè)新的框圖(如這個(gè)系列的第一篇博客所示),然后從IP核庫中添加一個(gè)新Zynq IP核。
雙擊框圖打開重定制IP核窗口。
選擇IMPORT XPS SETTINGS 選項(xiàng)。
指向vendor提供給你的XML文件。
導(dǎo)入文件如下圖所示:
下圖顯示了Digilent Zybo板子上zynq的DDR配置:
一旦你的硬件成功地定義了,你就可以像我在這個(gè)系列日志中所做的一樣搭建你的系統(tǒng)。我的日志大部分關(guān)注使用外設(shè)和模塊。在這種情況下,不需要有什么變化。當(dāng)日志使用外圍設(shè)備——比如說LEDS或者按鍵開關(guān)——你需要適應(yīng)MIO規(guī)范說明和你板子的輸出引腳。但是,博客解釋了怎樣做這些盡管這些博客主要關(guān)注的是Avnet MicroZed板子。對(duì)任何板子,使用這些博客帖子是非常直接了當(dāng)?shù)模驗(yàn)樗鼈兯玫脑瓌t都是一樣的。
你可以在玩轉(zhuǎn)MIcroZed系列博客中找到任何之前例子的代碼。之前系列的博客列表如下面所示。
向那些發(fā)郵件問我的朋友們表示致謝!我希望你們?cè)诟@個(gè)系列博客學(xué)習(xí)Zynq SoC的過程中感到開心。
Adam Taylor玩轉(zhuǎn)MicroZed系列博客:
Adam Taylor’s MicroZed Chronicles, Part 72: Multi-cycle Constraints
Adam Taylor’s MicroZed Chronicles, Part 70: Constraints—Clock Relationships and Avoiding Metastability
Adam Taylor’s MicroZed Chronicles, Part 70: Constraints—Introduction to timing and defining a clock
Adam Taylor’s MicroZed Chronicles Part 69: Zynq SoC Constraints Overview
Adam Taylor’s MicroZed Chronicles Part 68: AXI DMA Part 3, the Software
Adam Taylor’s MicroZed Chronicles Part 67: AXI DMA II
Adam Taylor’s MicroZed Chronicles Part 66: AXI DMA
Adam Taylor’s MicroZed Chronicles Part 65: Profiling Zynq Applications II
Adam Taylor’s MicroZed Chronicles Part 64: Profiling Zynq Applications
Adam Taylor’s MicroZed Chronicles Part 63: Debugging Zynq Applications
Adam Taylor’s MicroZed Chronicles Part 62: Answers to a question on the Zynq XADC
Adam Taylor’s MicroZed Chronicles Part 61: PicoBlaze Part Six
Adam Taylor’s MicroZed Chronicles Part 60: The Zynq and the PicoBlaze Part 5—controlling a CCD
Adam Taylor’s MicroZed Chronicles Part 59: The Zynq and the PicoBlaze Part 4
Adam Taylor’s MicroZed Chronicles Part 58: The Zynq and the PicoBlaze Part 3
Adam Taylor’s MicroZed Chronicles Part 57: The Zynq and the PicoBlaze Part Two
Adam Taylor’s MicroZed Chronicles Part 56: The Zynq and the PicoBlaze
Adam Taylor’s MicroZed Chronicles Part 55: Linux on the Zynq SoC
Adam Taylor’s MicroZed Chronicles Part 54: Peta Linux SDK for the Zynq SoC
Adam Taylor’s MicroZed Chronicles Part 53: Linux and SMP
Adam Taylor’s MicroZed Chronicles Part 52: One year and 151,000 views later. Big, Big Bonus PDF!
Adam Taylor’s MicroZed Chronicles Part 51: Interrupts and AMP
Adam Taylor’s MicroZed Chronicles Part 50: AMP and the Zynq SoC’s OCM (On-Chip Memory)
Adam Taylor’s MicroZed Chronicles Part 49: Using the Zynq SoC’s On-Chip Memory for AMP Communications
Adam Taylor’s MicroZed Chronicles Part 48: Bare-Metal AMP (Asymmetric Multiprocessing)
Adam Taylor’s MicroZed Chronicles Part 47: AMP—Asymmetric Multiprocessing on the Zynq SoC
Adam Taylor’s MicroZed Chronicles Part 46: Using both of the Zynq SoC’s ARM Cortex-A9 Cores
Adam Taylor’s MicroZed Chronicles Part 44: MicroZed Operating Systems—FreeRTOS
Adam Taylor’s MicroZed Chronicles Part 43: XADC Alarms and Interrupts?
Adam Taylor’s MicroZed Chronicles MicroZed Part 42: MicroZed Operating Systems Part 4
Adam Taylor’s MicroZed Chronicles MicroZed Part 41: MicroZed Operating Systems Part 3
Adam Taylor’s MicroZed Chronicles MicroZed Part 40: MicroZed Operating Systems Part Two
Adam Taylor’s MicroZed Chronicles MicroZed Part 39: MicroZed Operating Systems Part One
Adam Taylor’s MicroZed Chronicles MicroZed Part 38 – Answering a question on Interrupts
Adam Taylor’s MicroZed Chronicles Part 37: Driving Adafruit RGB NeoPixel LED arrays with MicroZed Part 8
Adam Taylor’s MicroZed Chronicles Part 36: Driving Adafruit RGB NeoPixel LED arrays with MicroZed Part 7
Adam Taylor’s MicroZed Chronicles Part 35: Driving Adafruit RGB NeoPixel LED arrays with MicroZed Part 6
Adam Taylor’s MicroZed Chronicles Part 34: Driving Adafruit RGB NeoPixel LED arrays with MicroZed Part 5
Adam Taylor’s MicroZed Chronicles Part 33: Driving Adafruit RGB NeoPixel LED arrays with the Zynq SoC
Adam Taylor’s MicroZed Chronicles Part 32: Driving Adafruit RGB NeoPixel LED arrays
Adam Taylor’s MicroZed Chronicles Part 31: Systems of Modules, Driving RGB NeoPixel LED arrays
?Adam Taylor’s MicroZed Chronicles Part 30: The MicroZed I/O Carrier Card
Zynq DMA Part Two – Adam Taylor’s MicroZed Chronicles Part 29
The Zynq PS/PL, Part Eight: Zynq DMA – Adam Taylor’s MicroZed Chronicles Part 28??
The Zynq PS/PL, Part Seven: Adam Taylor’s MicroZed Chronicles Part 27
The Zynq PS/PL, Part Six: Adam Taylor’s MicroZed Chronicles Part 26
The Zynq PS/PL, Part Five: Adam Taylor’s MicroZed Chronicles Part 25
The Zynq PS/PL, Part Four: Adam Taylor’s MicroZed Chronicles Part 24
The Zynq PS/PL, Part Three: Adam Taylor’s MicroZed Chronicles Part 23
The Zynq PS/PL, Part Two: Adam Taylor’s MicroZed Chronicles Part 22
The Zynq PS/PL, Part One: Adam Taylor’s MicroZed Chronicles Part 21
Introduction to the Zynq Triple Timer Counter Part Four: Adam Taylor’s MicroZed Chronicles Part 20
Introduction to the Zynq Triple Timer Counter Part Three: Adam Taylor’s MicroZed Chronicles Part 19
Introduction to the Zynq Triple Timer Counter Part Two: Adam Taylor’s MicroZed Chronicles Part 18
Introduction to the Zynq Triple Timer Counter Part One: Adam Taylor’s MicroZed Chronicles Part 17
The Zynq SoC’s Private Watchdog: Adam Taylor’s MicroZed Chronicles Part 16
Implementing the Zynq SoC’s Private Timer: Adam Taylor’s MicroZed Chronicles Part 15
MicroZed Timers, Clocks and Watchdogs: Adam Taylor’s MicroZed Chronicles Part 14
More About MicroZed Interrupts: Adam Taylor’s MicroZed Chronicles Part 13
MicroZed Interrupts: Adam Taylor’s MicroZed Chronicles Part 12
Using the MicroZed Button for Input: Adam Taylor’s MicroZed Chronicles Part 11
Driving the Zynq SoC's GPIO: Adam Taylor’s MicroZed Chronicles Part 10
Meet the Zynq MIO: Adam Taylor’s MicroZed Chronicles Part 9
MicroZed XADC Software: Adam Taylor’s MicroZed Chronicles Part 8
Getting the XADC Running on the MicroZed: Adam Taylor’s MicroZed Chronicles Part 7
A Boot Loader for MicroZed. Adam Taylor’s MicroZed Chronicles, Part 6?
Figuring out the MicroZed Boot Loader – Adam Taylor’s MicroZed Chronicles, Part 5
Running your programs on the MicroZed – Adam Taylor’s MicroZed Chronicles, Part 4
Zynq and MicroZed say “Hello World”-- Adam Taylor’s MicroZed Chronicles, Part 3
Adam Taylor’s MicroZed Chronicles: Setting the SW Scene
Bringing up the Avnet MicroZed with Vivado
原文鏈接:
?Copyright 2014 Xilinx Inc
如需轉(zhuǎn)載,請(qǐng)注明出處
評(píng)論