本篇主要紀錄使用ultra96-v2寫一個簡單的GPIO程式,包含以下功能:
按鈕MIO23觸發console(uart)輸出一行命令,並且LED(D3-D7)亮燈,同時MIO36/37/39/40按照預先規劃好的流程動作輸出時序
系統環境: ubuntu 18.04
Xilinx版本: 2021.2
如果尚未建立基本的XSA供Vitis使用,請參考A項目
board file update
在create project若找不到ultra96的板子資訊,必須先更新或是把board filearrow-up-right放到對應路徑,才可以建立專案。
可以參考這篇(ultra 96 v2 board not available in vivadoarrow-up-right),不過bdf放的路徑要改在 <your path>/Vivado/202x.2/data/xhub/boards/XilinxBoardStore/boards/Xilinx
以Ultral96-V2建立block diagram
systhises,implentment,(沒有pl external就不用設定io)
bitstream,建立xsa
根據xsa建立platform project
整體流程可參考 hackster.io 這篇arrow-up-right,比較需要注意的是設定standalone BSP時A53的stdin,stdout要設定uart1,否則console會看不到任何訊息
設定好之後對platform project,build project
確認都沒問題之後,建立appilcation project
選擇剛剛建立好的platform project作為基底,並且選你要使用的core
選擇hello world project產生模板,並且直接build project
檢查switch是否使用jtag模式,檢查uart連接的pin腳,並且上電開機
有時候會想快速的寫一個小module做測試,但又不想create IP package,可以將add verilog,再拖曳到block design,這樣就可以快速地進行測試。
Axi module可以參考這篇arrow-up-right的做法,裡面包含
LaserAXI_Wapper.varrow-up-right : 用來跟外部PS Side連接
LasrCnt_fstate.varrow-up-right : 主要是自己做的module
Xilinx_AxiGpioTest.carrow-up-right : 放在vitis project,讓PS side可以控制
本篇參考
Ultra96-V2 Vitis 2020.2 Hello World from ARM A53arrow-up-right
Last updated 1 year ago