蜂鸟E203开源RISC-V开发板:蜂鸟FPGA开发板和JTAG调试器介绍
原文出處:https://mp.weixin.qq.com/s/E5X_txYlAjeixM1PsqKICg
隨著國內(nèi)第一本RISC-V中文書籍《手把手教你設(shè)計(jì)CPU——RISC-V處理器篇》正式上市,越來越多的愛好者開始使用開源的蜂鳥E203 RISC-V處理核,很多初學(xué)者留言詢問有關(guān)RISC-V工具鏈?zhǔn)褂玫膯栴}。
為了便于初學(xué)者能夠快速地學(xué)習(xí)RISC-V CPU設(shè)計(jì)和RISC-V嵌入式開發(fā),蜂鳥E203開源MCU原型SoC(在本文中將其簡稱為“MCU SoC”或者“SoC”)定制了基于Xilinx FPGA的專用開發(fā)板(在本文中將其簡稱為“FPGA開發(fā)板”)和專用JTAG調(diào)試器(在本文中將其簡稱為“JTAG調(diào)試器”)。
本篇主要就蜂鳥FPGA開發(fā)板及蜂鳥JTAG下載器進(jìn)行詳細(xì)說明,更多信息可下拉頁面到文末,點(diǎn)擊“閱讀原文”查看更多內(nèi)容。
1 概述
為了便于初學(xué)者能夠快速地學(xué)習(xí)RISC-V CPU設(shè)計(jì)和RISC-V嵌入式開發(fā),蜂鳥E203開源MCU原型SoC(在本文中將其簡稱為“MCU SoC”或者“SoC”)定制了基于Xilinx FPGA的專用開發(fā)板(在本文中將其簡稱為“FPGA開發(fā)板”)和專用JTAG調(diào)試器(在本文中將其簡稱為“JTAG調(diào)試器”)。
完整的FPGA開發(fā)板原型(包括FPGA開發(fā)板和調(diào)試器)如圖1-1所示。
圖1-1 蜂鳥FPGA開發(fā)板和JTAG調(diào)試器,后文將分別予以詳述。
2 蜂鳥FPGA開發(fā)板 概述
2.1 FPGA開發(fā)板總體說明
為了便于蜂鳥FPGA開發(fā)板的使用,FPGA開發(fā)板具備如下特點(diǎn):
-
一板兩用,該開發(fā)板不僅可以用于一塊FPGA開發(fā)板作為電路設(shè)計(jì)使用,同時(shí)由于其預(yù)燒了蜂鳥E203開源SoC(包括E203內(nèi)核),因此其可以直接作為一塊MCU SoC原型開發(fā)板進(jìn)行嵌入式軟件開發(fā)。即:
-
對于不懂FPGA軟件開發(fā)的用戶完全無需做任何的操作,該開發(fā)板會(huì)預(yù)先燒寫開源的蜂鳥E203 Core和配套SoC,上電后即可當(dāng)做一塊MCU嵌入式開發(fā)板來用。
-
對于了解FPGA使用的硬件用戶而言,也可以將其當(dāng)做普通的FPGA 開發(fā)板來燒寫普通的Verilog電路以進(jìn)行FPGA開發(fā)。
-
由于其預(yù)先燒寫的蜂鳥E203 Core和配套SoC源代碼完全開源,可以對其任意進(jìn)行修改或二次開發(fā)。
-
并且由于開源的蜂鳥E203 MCU SoC的 “FPGA燒寫文件(mcs格式)”會(huì)上傳到: https://github.com/SI-RISCV/e200_opensource/tree/master/fpga/nucleikit/prebuilt_mcs 目錄下,用戶可以隨時(shí)重新燒寫此FPGA板將其恢復(fù)成為預(yù)裝的MCU嵌入式開發(fā)板。
2.2 FPGA開發(fā)板的購買途徑
FPGA開發(fā)板的淘寶購買網(wǎng)頁鏈接:
https://item.taobao.com/item.htm?id=580813056318
2.3 FPGA開發(fā)板的硬件指標(biāo)
蜂鳥E203專用FPGA開發(fā)板是一款入門級Xilinx FPGA開發(fā)板,如圖2-1所示。
圖2-1 蜂鳥FPGA開發(fā)板總體圖該FPGA開發(fā)板的硬件特性如下:
-
使用的FPGA型號(hào)為Xilinx XC7A100T。
-
板載雙晶振設(shè)計(jì):100MHz主時(shí)鐘和32.768K RTC時(shí)鐘。
-
配備單獨(dú)直流5V供電,并設(shè)有電源開關(guān),如圖2-1中的“DC:5V供電及開關(guān)”標(biāo)注。
-
配備獨(dú)立的FPGA_RESET按鍵,用戶可用此按鍵作為FPGA的復(fù)位按鍵。
-
配備多達(dá)126個(gè)引出的FPGA GPIO,用于用戶自定義使用。
-
配備多個(gè)電源狀態(tài)指示LED燈。
-
配備板載的Xilinx Platform Cable USB JTAG下載器,用于對FPGA進(jìn)行比特流的燒寫,如圖2-1中的“FPGA JTAG”標(biāo)注。
-
配備兩顆MT41K128M16JT-125K DDR III 顆粒。
-
配備獨(dú)立的128M-bit FPGA SPI Flash,此Flash用于存儲(chǔ)mcs格式的比特流文件:
-
熟悉Vivado和Xilinx FPGA使用的用戶應(yīng)該了解,bitstream文件燒錄到FPGA中去之后FPGA不能掉電,因?yàn)橐坏┑綦娭驠PGA燒錄的內(nèi)容即丟失,需要重新使用Vivado的Hardware Manager進(jìn)行燒錄方能使用。為了方便用戶使用,Xilinx的FPGA開發(fā)板可以將需要燒錄的內(nèi)容寫入開發(fā)板上的Flash中(以mcs格式),然后在每次FPGA上電之后通過硬件電路自動(dòng)將需要燒錄的內(nèi)容從外部的Flash中讀出并燒錄到FPGA之中(該過程非常的快,不影響用戶使用)。由于Flash是非易失性的內(nèi)存,具有掉電后仍可保存的特性,因此意味著將需要燒錄的內(nèi)容寫入 Flash后,每次掉電后無需使用Hardware Manager人工重新燒錄(而是硬件電路快速自動(dòng)完成),即等效于,FPGA上電即可使用。
-
除了上電自動(dòng)對FPGA重新進(jìn)行燒錄外,用戶還可以通過強(qiáng)行按FPGA開發(fā)板上的“FPGA_PROG”按鍵觸發(fā)硬件電路使用此Flash中的內(nèi)容對FPGA重新進(jìn)行燒錄。FPGA開發(fā)板上的“FPGA_PROG”按鍵位置請參見圖2-1中標(biāo)注所示。
-
為了便于此開發(fā)板直接作為MCU原型嵌入式開發(fā)板使用,將蜂鳥E203開源SoC的頂層引腳直接連到開發(fā)板上,并配有明顯的絲印標(biāo)注。請參見第2.5節(jié)了解詳細(xì)介紹。
-
為了便于此開發(fā)板作為常規(guī)FPGA開發(fā)板使用,配備分離的撥碼開關(guān)和LED燈,請參見第2.6節(jié)了解詳細(xì)介紹。
2.4 FPGA開發(fā)板的電路原理圖
該開發(fā)板的電路原理圖保存于:
https://github.com/SI-RISCV/e200_opensource/tree/master/boards 目錄下,請用戶自行查閱。
2.5 FPGA開發(fā)板的MCU部分
為了便于此開發(fā)板直接作為MCU原型嵌入式開發(fā)板使用,將“蜂鳥E203開源SoC”(簡稱SoC)的頂層引腳直接連到開發(fā)板上,并配有明顯的絲印標(biāo)注,詳細(xì)描述如圖2-2中所示,其要點(diǎn)如下:
-
FPGA預(yù)先燒寫成為“蜂鳥E203開源MCU SoC”(簡稱SoC)
-
為了實(shí)現(xiàn)MCU的功能,在FPGA開發(fā)板上專門配備了一個(gè)Nor Flash用于存儲(chǔ)MCU的軟件程序。
-
MCU SoC的兩個(gè)輸入時(shí)鐘輸入分別按照如下方式產(chǎn)生:
- 低速的實(shí)時(shí)時(shí)鐘直接由FPGA開發(fā)板上的32.768KHz時(shí)鐘源輸入
- 高速時(shí)鐘由FPGA開發(fā)板上的100MHz時(shí)鐘經(jīng)過FPGA內(nèi)部PLL降頻而得(16MHz)。高速時(shí)鐘由FPGA開發(fā)板上的100MHz時(shí)鐘經(jīng)過FPGA內(nèi)部PLL降頻而得(16MHz)。
-
將SoC的相關(guān)輸入輸出管腳明確的做到FPGA開發(fā)板上,并且用印刷字體明確的表明端口號(hào)。
-
有關(guān)此SoC的輸入輸出管腳列表的詳細(xì)信息,請參見https://github.com/SI-RISCV/e200_opensource/blob/master/doc 目錄下的文檔《蜂鳥E203開源SoC簡介》。
-
注意:所有的管腳都只是映射到FPGA內(nèi)部的普通端口(雙向IO)上,然后通過FPGA Project通過設(shè)置端口映射把FPGA端口映射到這些外部預(yù)定義的開發(fā)板引腳。有關(guān)FPGA Project的詳細(xì)信息請參見:https://github.com/SIRISCV/e200_opensource/blob/master/doc 目錄下的文檔《蜂鳥E203快速上手介紹》。
-
更多詳細(xì)描述如圖2-2中所示。
圖2-2 蜂鳥FPGA開發(fā)板的MCU定制部分
2.6 FPGA開發(fā)板的常規(guī)功能部分
為了便于此開發(fā)板作為常規(guī)FPGA開發(fā)板使用,配備分離的撥碼開關(guān)和LED燈,如圖2-3中所示。
注意:此組撥碼開關(guān)和LED并沒有被連接到FPGA的管腳上,用戶可以自由的進(jìn)行跳線使其控制開發(fā)板上的其他信號(hào)。如圖2-3中所示,用戶可以通過用杜邦線跳線將“撥碼開關(guān)”與MCU SoC的GPIO接口連接,相當(dāng)于通過撥碼開關(guān)來產(chǎn)生GPIO的輸入,從而可以編程構(gòu)建形象化的簡單Demo。
2.7 燒寫蜂鳥E203項(xiàng)目至FPGA開發(fā)板
有關(guān)如何燒寫蜂鳥E203項(xiàng)目(包括SoC和處理器內(nèi)核)至此FPGA開發(fā)板的具體操作步驟,請參見https://github.com/SI-RISCV/e200_opensource/blob/master/doc 目錄下的文檔《蜂鳥E203快速上手介紹》。
2.8 使用FPGA開發(fā)板進(jìn)行軟件開發(fā)與調(diào)試
有關(guān)如何使用FPGA開發(fā)板進(jìn)行軟件開發(fā)與調(diào)試的具體操作步驟,請參見https://github.com/SI-RISCV/e200_opensource/blob/master/doc 目錄下的文檔《蜂鳥E203快速上手介紹》。
3 蜂鳥JTAG調(diào)試器
3.1 JTAG調(diào)試器總體說明
圖3-1 蜂鳥E203專用的JTAG調(diào)試器
為了便于初學(xué)者能夠快速地學(xué)習(xí)RISC-V嵌入式開發(fā),“蜂鳥MCU SoC”定制了專用的JTAG調(diào)試器,該調(diào)試器具有如下特性:
-
調(diào)試器的一端為普通U盤接口,便于直接將其插入主機(jī)PC的USB接口,另一端為標(biāo)準(zhǔn)的4線JTAG接口和2線UART接口。
-
調(diào)試器具備USB轉(zhuǎn)JTAG功能,通過標(biāo)準(zhǔn)的4線JTAG接口與蜂鳥E203 FPGA開發(fā)板連接。由于蜂鳥E203 內(nèi)核支持標(biāo)準(zhǔn)的JTAG接口,通過此接口可以程序下載或進(jìn)行交互式調(diào)試。
-
調(diào)試器具備UART轉(zhuǎn)USB功能,通過標(biāo)準(zhǔn)的2線UART接口與蜂鳥E203 FPGA開發(fā)板連接。由于嵌入式系統(tǒng)往往沒有配備顯示屏,因此常用UART口連接主機(jī)PC的COM口(或者將UART轉(zhuǎn)換為USB后連接主機(jī)PC的USB口)進(jìn)行調(diào)試,這樣便可以將嵌入式系統(tǒng)中的printf函數(shù)重定向打印至主機(jī)的顯示屏。參見中文書籍《RISC-V架構(gòu)與嵌入式開發(fā)快速入門》第9章了解更多詳情。
3.2 JTAG調(diào)試器的購買途徑
FPGA開發(fā)板的淘寶購買網(wǎng)頁鏈接:
https://item.taobao.com/item.htm?id=580813056318
3.3 JTAG調(diào)試器與FPGA開發(fā)板相連
蜂鳥E203的JTAG調(diào)試器與FPGA開發(fā)板的連接方法如圖3-2中所示。
3.4 使用JTAG調(diào)試器進(jìn)行軟件下載與調(diào)試
有關(guān)如何使用JTAG調(diào)試器進(jìn)行軟件下載與調(diào)試的具體操作步驟,請參見https://github.com/SI-RISCV/e200_opensource/blob/master/doc 目錄下的文檔《蜂鳥E203快速上手介紹》。
(查看方式:1.下滑頁面到文章最末,點(diǎn)擊“閱讀原文”查看e200_opensource項(xiàng)目總鏈接;2.在公眾號(hào)后臺(tái)回復(fù)“鏈接”,即可訪問)
4 購買鏈接及圖片欣賞
FPGA開發(fā)板的淘寶購買網(wǎng)頁鏈接:
https://item.taobao.com/item.htm?id=580813056318
其他
本文編輯by 新晉硅農(nóng)胖夏
如您有關(guān)于此開發(fā)板的任何信息咨詢,請致信summer@nucleisys.com
更多信息
感興趣的讀者可以通過下面二維碼關(guān)注公眾號(hào)“硅農(nóng)亞歷山大”,了解Verilog、IC設(shè)計(jì)、CPU、RISC-V和人工智能AI相關(guān)的更多設(shè)計(jì)技巧和經(jīng)驗(yàn)分享,注意:由于干貨太多,請自備茶水。
總結(jié)
以上是生活随笔為你收集整理的蜂鸟E203开源RISC-V开发板:蜂鸟FPGA开发板和JTAG调试器介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: short 的算术运算
- 下一篇: chart图表