1. 程式人生 > >【兆易創新RISC-V開發板評測】01.乾貨分享

【兆易創新RISC-V開發板評測】01.乾貨分享

  背景介紹:2019年12月19日在面板包偶然發可以免費申請測評GD32VF103開發板,欣喜萬分;在這之前各大技術論壇說是已經有國產兆易創新的RISCV指令集的MCU釋出的事情,一時間摩拳擦掌想購入一塊開發板回來,體驗一下我天朝自己產的MCU和外國貨的區別,期盼國產自強的那一天,不為別的只為看技術文件的時候不那麼累。 下面我就從硬體電路,工程搭建,和韌體庫和除錯的基本使用等方面來談談我對這款國產MCU的粗略看法,以求拋磚引玉,因個人水平有限評測過程難免不當甚至錯誤的地方,煩請大神批評斧正。

一、硬體篇:

1、開箱預覽,如其他評測一樣豹子標的白色外翻盒子,兩篇薄如蟬翼的緩衝薄膜,兩根白色的資料線,一款藍色的開發板。包裝略顯簡單,但是對於一個專注技術而不是外觀的人來說已經足夠了。

2、開發板預覽,官方提供了詳細的關於開發板的資料,原理圖,硬體說明手冊,韌體手冊等,先上圖吧,我單獨標了一下開發板各個功能模組,開發板幾乎板載了所有的指控IC包含的功能,單獨引出了主控IC可用的80多個IO口,所以當你入手這款開發板之後就連偵錯程式也不用另外購買,板載的官方偵錯程式就可以滿足你所有的需求。

3、板子設計精良簡潔,每個功能模組都標有字元說明,一目瞭然,抬手一看就知道是什麼功能,再配備官方提供的原理圖即使入門級別的選手也能輕鬆搞清楚。

4、這款開發板的主控IC使用的是兆易創新自主開發的基於RISC-V指令集的國產MCU,這款MCU也是兆易創新目前唯一一款RISC-V系列的晶片,而且板載的GD32VF103VBT6是其系列最高配的工業級晶片。

二、開發環境篇

1、瞭解完開發板的基本情況之後在來看看該開發板所使用的IDE,畢竟沒有好的開發環境再好的硬體配置想輕鬆使用起來也是讓人頭疼的一件事情,由於GD32VF103系列晶片使用的是芯來科技提供的代號為《Bumblebee》IP核心,所以開發環境需要到芯來科技官網下載下,芯來科技。

2、官方只提供了基於windows的整合開發環境,其他系統的使用者只能自己搭建開發環境了。該IDE也是基於一個開源專案Eclipse,官方已經配置好了一切的一切。也就是說你下載下來IDE只需要做的工作量幾乎為零,不像IAR,Keil等要配置好多東西。

4、關於怎樣建立一個工程,官方已經提供了非常詳細的手冊,這裡我就不復述了,文章末尾會附上相應的配置檔案,根據配置檔案就可以建立一個工程,事實上實際的建立 一個工程遠比官方文件說明的要簡單的多。我們自己需要配置環境的步驟少,這樣可以把更多的精力放在怎樣去編寫程式碼。

三、官方韌體篇

1、使用IDE建好一個工程之後我們面臨的一個問題就是寫程式碼,現在的MCU由於集成了更多的內部資源,如果像51微控制器那樣直接去操作暫存器那簡直是不敢想的一件折磨人的事情,為此GD和一線國際大廠ST的一樣為晶片提供了完善的韌體庫,加快了使用者的開發進度。

2、使用過ST微控制器的同學都知道ST有一個非常完善的標準韌體庫,並且在相對高階的MCU推出了更完善的HAL庫,方便在不同產品上的程式碼移植工作,GD也是一樣提供了一個標準的韌體庫,估計在日後產品線更加豐富之後也能推出類似HAL的韌體庫,下面我們來對比ST的標準韌體庫來了解一下GD的韌體庫。

3、提供韌體庫之後最重要的事需要有一個韌體庫的說明和相應的程式設計手冊,這方面ST和GD做的都非常棒,提供了完善的資料,重要的區別是GD提供的是官方編寫的中文版資料,ST的大多是技術愛好者自行翻譯的中文(英文的對於大多數國人來說晦澀難懂),這就造成因為翻譯的問題導致有些細節的地方不準確。

4、不論是ST還是GD的開發流程都大同小異,比如說一個埠的初始化都是一樣的,其中一個的區別就是,GD初始化採用的是函式的方式,ST採用的是結構體的方式,比如說官方提供的COM初始化的函式就能看出來,每一個步驟都對應一個函式,而ST的是先配置一個結構體,然後用一個init的函式來完成初始化。

5、除了以上程式設計思維方面的區別其他的感覺一樣,用過ST的同學想上手GD是一件很容易的事情。

四、除錯篇

1、之前說過了開發板自帶偵錯程式也預留了JlTAG除錯介面,對於沒有JLink偵錯程式的同學,板載的完全就夠了,在建立完工程之後都不用配置偵錯程式,直接點選那個小蜘蛛按鈕就可以進行除錯。

2、關於除錯給我的感覺就是,除錯速度慢,由於我沒有JTAG偵錯程式不知道是板載偵錯程式的問題還是除錯軟體優化的問題,打上斷點之後命中速度比較慢。另外一個好的地方就是藉助Eclipse的強大和偵錯程式的配合可以很方便的看到記憶體暫存器的狀態。

總結: 

  從申請通過就想拿這個開發板做點東西,那時候手頭剛好有一個小專案,然後就想用這個開發板來做,但是專案時間緊開發板發貨時間有點長,無奈只能用ST的MCU來做了。不過收到這塊開發板的是興奮的,作為一名電子愛好者,一直期望用到國產的晶片做點東西,雖然這次錯過了,不過我依然想抽時間好好研究一下這個開發板,初步是想完成晶片的IAP功能,GD的片子雖然內建了bootloader但是必須先配置引腳啟動才能實現從串列埠下載程式,IAP的功能就是想線上熱更新程式。   這幾天一直忙其他的事情,只能晚上或者週末來研究這塊開發板,初步體驗還是比較棒的,但是缺點也有,第一,就是韌體資料,文件資料更新太隨意,韌體有個1.0版本,在下載頁面又掛了一個1.01版,居然裡面沒有任何更新說明,韌體庫居然還有錯誤(RISCV/write.c,使用printf函式輸出不加換行符號不能正常輸出),全憑使用者自己猜。第二,要下載資料什麼的居然要去第三方網站下載,各種資料雜揉在一起看的眼花。第四,官方網站既然沒有中文版,沒有資料下載通道,你看看咱國產的STC,那最起碼還有一個官網提供技術支援。估計還有其他的吧,後面深入研究發現了再說。   總之,國產芯剛剛起步各種問題在所難免,但還是希望官方能能認真對待,尤其是客戶服務這一塊,把資料弄完善一些,細節的地方多做做。

附件下