文章信息
撰寫日期 | 2019.07.07 |
---|---|
完稿日期 | 2019.07.07 |
最近維護 | 2019.07.07 |
本文作者 | multimicro |
聯繫方式 | [email protected] |
資料鏈接 | 本文無附件資料 |
GitHub | https://github.com/wifialan/ |
開發環境
環境說明 | 詳細信息 | 備註信息 |
---|---|---|
操作系統 | Windows_x64 | |
Vivado版本 | 2018.3 | 官網地址 |
開發板型號 | ZYNQ7010(米聯客 MiZ701N_F) |
開發流程
- 建立vivado工程,選擇好開發板型號
- 新建一個IP,命名好名字後,點擊 + 添加一個IP核
這裏選擇ZYNQ7 Processing System
雙擊這個IP核,進行配置,分別要配置時鐘、內存、外設、IO等,其中最主要的就是時鐘和內存
1) 時鐘配置
這裏的時鐘是根據原理圖上的時鐘要配置的,可不是固定的哦,MiZ701N的板子晶振爲50MHz,至於下面那個框起來的參數,暫時還不清楚爲什麼是100MHz,有知道的小夥伴可以告訴我呀,在這裏先謝謝啦,我剛開始學,還不是很瞭解。
2) 內存型號配置,這個還是要看板子配套原理圖上的內存型號,有這個型號的話,其他配置默認即可。
3) 外設模塊的配置,注意,ENET0這裏的紅框是P過得,展開後那個MDIO看不到,所以,這裏給P上去了
如若點亮一個LED,那麼就要配置GPIO口了
紅框是PS部分的GPIO口,藍框的是PL控制的GPIO口,這個在Zynq-7000 Soc Techniccal Refernce manual裏面有提到
MIO 分配在bank0 和bank1 直接與PS 部分相連,EMIO 分配在bank2 和bank3 和PL部分相連。除了bank1 是22-bit 之外,其他的bank 都是32-bit。所以MIO 有53 個引腳可供我們使用,而EMIO 有64 個引腳可供我們使用。
使用EMIO 的好處就是,當MIO 不夠用時,PS 可以通過驅動EMIO 控制PL 部分的引腳,接下來就來詳細介紹下EMIO 的使用。
EMIO 的使用和MIO 的使用其實是非常相似的。區別在於,EMIO 的使用相當於,是一個PS + PL 的結合使用的例子。所以,EMIO 需要分配引腳,以及編譯綜合生成bit文件。
上面文字摘自米聯客《ZYNQ SOC修煉祕籍》P255頁
若採用MIO,則不需要約束文件,因爲是直接對PS操作,若對使用EMIO,則需要xdc約束文件來對GPIO進行映射。如下圖已經是啓用EMIO了,詳情操作參考《ZYNQ SOC修煉祕籍》中S02_CH03_EMIO章節。
然後點擊
產生Bitstream然後
1) Export一下
2) Lanuch SDK一下
3) 進入SDK進行下一步開發
3. 進入SDK開發後,若新建的工程有錯無法正常運行,十有八九是Vivado上配置IP核出錯了,仔細檢測時鐘和內存型號已經外設是否正確配置。其餘詳見《修煉祕籍》