本文介紹國產FPGA GW1NSR的片上資源和特性,從官網能獲取資料的途徑,完成這一步可以使讀者在自己的項目遇到問題的時候能夠獨立解決,高云官網提供了綜合用的IDE、編程下載工具,以及應用手冊、數據手冊和參考手冊,所有資源都會附上鏈接。
第二章從新建工程開始一步一步的介紹如何寫一個verilog文件實現一個流水燈,讀者讀完這章可以下載軟件敲一下代碼,步驟很詳細,不懂在本貼下方留言。
第三章介紹IP核的使用,本次是使用片上的硬核CM3處理器,使用IP核配置工具使能SPI總線、UART和GPIO0,用于驅動spi接口的lcd,讀完這章讀者可以在硬核上使能自己想要的外設。
第四章介紹如何移植rtthread到硬核上。希望讀完本文的讀者能夠基于高云的FPGA芯片和開發工具能夠快速上手自己的項目。(本文為星核計劃貢獻者:秦韋忠作品)
b69337c6-2b17-11ec-82a8-dac502259ad0.png
GW1NSR介紹
b69337c6-2b17-11ec-82a8-dac502259ad0.png
高云方案商推出的板載GW1NSR的ministar開發板內嵌Cortex-M3硬核非常適合于verilog的學習。
可以看到GW1NSR內嵌了一個CM3的硬核,還有一個DSP,使用verilog語言可以得到任何數字電路,FPGA一般用于IO擴展,因為數字電路是并行的,能夠提升MCU的性能,片上集成了一個CM3,其優勢是可以減小嵌入式產品的體積,普通采用MCU+FPGA架構的產品因為使用了分立的MCU+FPGA會增加產品體積,加上目前國內MCU的缺貨現狀,GW1NSR在性能上要高于普通MCU,既可以在硬核上運行串行的業務邏輯,也能用FPGA的資源實現并行的數字邏輯。想要詳細的了解這顆芯片的資源,請查看芯片的數據手冊。
b69337c6-2b17-11ec-82a8-dac502259ad0.png
入門:帶你從新建工程到手寫一個流水燈
b69337c6-2b17-11ec-82a8-dac502259ad0.png
開發環境準備
1.下載和安裝軟件
2.申請license
3.安裝ministar的usb驅動
新建工程和創建verilog文件
1.新建工程
2.新建和編寫verilog文件實戰:面向ip核應用的片上硬核處理器。
b69337c6-2b17-11ec-82a8-dac502259ad0.png
新項目如上,本章主要內容是用IP核使能帶片內硬核的spi外設驅動spi lcd。
注意LVCMOS33的配置,驅動spi芯片需要3.3V的電平。FPGA配置在這里,然后寫了CM3的程序。
FPGA配置在這里,然后寫了CM3的程序。
從以下網址下載固件包:
http://www.gowinsemi.com.cn/prodshow_view.aspx?TypeId=71Id=186FId=t3131
驅動程序的核心是實現spi的寄存器寫入和數據寫入功能,如下所示,詳細的驅動程序代碼見文末工程文件。
//使用高云mcu固件庫中的spi寫函數spi_WriteData(數據),定義spi的芯片選擇宏和lcd驅動的命令/數據使能宏。移植相對簡單。void LCD_WR_REG(uint8_t數據){ LCD _ CS _ CLRLCD _ RS _ CLRSPI_WriteData(數據);LCD _ CS _ SET}
void LCD_WR_DATA(uint8_t數據){ LCD _ CS _ CLRLCD _ RS _ SETSPI_WriteData(數據);LCD _ CS _ SET}
完成了FPGA和CM3的工作。fs文件由FPGA項目合成,bin文件由CM3項目編譯,然后下載。
此時,液晶屏開始顯示測試畫面,表示驅動正常,cm3工作正常。
b69337c6-2b17-11ec-82a8-dac502259ad0.png
將操作系統rtthread移植到硬核。
b69337c6-2b17-11ec-82a8-dac502259ad0.png
這一章的內容是將rtthread移植到GW1NSR的片上CM3,使產品實時化。
1.下載rtthread nano 3.1.3內核源代碼并復制到項目目錄中。
下載地址:
https://www.rt-thread.org/page/download.html
2.在keil項目中添加源文件。
3.添加頭文件。
4.注釋掉systick、hardfault和pendsv中斷。
完成上述步驟后,編譯項目并下載到開發板,rtthread開始在開發板上運行。
b69337c6-2b17-11ec-82a8-dac502259ad0.png
摘要
b69337c6-2b17-11ec-82a8-dac502259ad0.png
這是第一次使用國產FPGAs。讓我驚訝的是,IP核非常豐富。這次在官網的數據搜索中,發現了riscv和arm的軟核,發現2018年發布了一些參考手冊??梢灾?,高云在FPGA方面積累了相當長的技術,為用戶帶來了便捷的IDE軟件和各種參考應用手冊。這個ministar開發板非常適合學生。我希望高云能推出更多這樣的比賽,向學生展示開發板,這將有助于verilog在中國的普及,促進我國數字集成電路的發展。