<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 智能硬件 > 國(guó)產(chǎn)RISC-V開(kāi)發(fā)板RV-STAR初體驗(yàn)

          國(guó)產(chǎn)RISC-V開(kāi)發(fā)板RV-STAR初體驗(yàn)

          作者:喵子 時(shí)間:2020-06-18 來(lái)源:知乎 收藏

          RV-STAR初體驗(yàn)

          本文引用地址:http://www.ex-cimer.com/article/202006/414399.htm

          的公眾號(hào)上看到,他們出了一塊,趕緊入手了一塊,雖然武漢現(xiàn)在疫情很嚴(yán)重,但還是很快就收到了快遞包裹,激動(dòng)的想要看看這塊板子怎么樣。

          先來(lái)個(gè)正面特寫吧,寶石綠的板面,板載兩顆芯片,這也是很少見(jiàn)的了;整個(gè)板子周圍布滿了各種外設(shè)接口,非常有科技感。


          官方的文檔說(shuō),它采用的是TYPEC的供電口,還可以用來(lái)下載程序。這個(gè)還蠻方便,我的小米手機(jī)線直接就可以上崗工作了。

          板子的核心芯片是采用了GD32VF103VBT6的核,給它來(lái)個(gè)特寫,確實(shí)是GD32的芯片。




          這兩個(gè)小按鍵看起來(lái)蠻有質(zhì)感,吸引了我的注意,就是不知道是干什么用,后面再來(lái)好好研究一下。


          板子雖小,五臟俱全。去芯來(lái)的社區(qū)網(wǎng)站(http://www.rvmcu.com)上也能找到板子的相關(guān)內(nèi)容。


          • 微控制器:GD32VF103VBT6(32位處理器)

            • 內(nèi)核:Bumblebee內(nèi)核(RV32IMAC)

            • 主頻:108MHz

            • 內(nèi)存:內(nèi)置128KB Flash、32KB SRAM

            • 工作電壓:2.6~3.6V

            • 外設(shè)資源:Timer(高級(jí)16位定時(shí)器* 1,通用16位定時(shí)器* 4)、U(S)ART* 5、I2C* 2、SPI* 3、CAN* 2、USBFS* 1、ADC* 2(16路外部通道)、DAC* 2、EXMC* 1

          • 外設(shè)及接口:

            • USB Type-C接口:下載、調(diào)試、串口通信功能

            • Micro USB接口:USB-OTG功能

            • microSD卡插槽(默認(rèn)沒(méi)焊接):外擴(kuò)SD卡存儲(chǔ)(SPI接口)

            • JTAG接口:可分離MCU與調(diào)試器,使其各自可單獨(dú)工作

            • PMOD接口* 2:SPI、I2C

            • 雙排標(biāo)準(zhǔn)2.54mm排母接口:Arduino兼容接口(外側(cè)),EXMC擴(kuò)展接口(內(nèi)側(cè))

            • 用戶按鍵* 2:復(fù)位、喚醒

            • RGB LED* 1

          外設(shè)資源以及接口還是有不少的。整體感覺(jué),這塊板子還是遠(yuǎn)遠(yuǎn)超過(guò)預(yù)期。


          實(shí)際操作——盤它


          下面分享一下我自己根據(jù)提供的SDK和工具鏈?zhǔn)侨绾吸c(diǎn)亮LED的。收到板子前,我就看了官方給的文檔。官方提供了一個(gè)IDE快速上手,值得新手來(lái)讀一讀,可以幫助快速開(kāi)始搭建好本地的環(huán)境。而更多例程里提供了一些例程和相關(guān)的代碼,非常方便做demo調(diào)試。


          下面就是我按快速上手的實(shí)踐。主要有以下幾步

          • 下載SEGGER Embedded Studio 和 JLink

          • 下載工具鏈和openocd

          • 連接板子到PC并安裝驅(qū)動(dòng)

          • 下載DEMO工程并點(diǎn)亮LED

          下載SEGGER Embedded Studio 和 JLink

          芯來(lái)提供的IDE平臺(tái)是SEGGER Embedded Studio,在SEGGER官網(wǎng)可以下載IDE軟件。需要注意的是,要下載支持的IDE,最開(kāi)始我是下載錯(cuò)了,結(jié)果調(diào)了很久,最后還是找芯來(lái)的研發(fā)才搞明白。


          安裝SEGGER Embedded Studio之后還要安裝JLink驅(qū)動(dòng),也在SEGGER官網(wǎng)有下載。


          下載工具鏈和openocd

          下載安裝完成后就要準(zhǔn)備工具鏈和openocd了,這些在官網(wǎng)可以下載,頁(yè)面鏈接如下:https://www.nucleisys.com/download.php。根據(jù)使用的系統(tǒng)下載對(duì)應(yīng)的RISC-V GNU Toolchain和OpenOCD。

          下載并解壓縮,然后在之前的SEGGER Embedded Studio的安裝路徑下新建一個(gè)Nuclei_Toolchain文件夾,在里面放入工具鏈和openocd,注意文件名分別是gcc和openocd,并且要求下一級(jí)文件就是bin文件那一層。

          連接板子到PC并安裝驅(qū)動(dòng)

          RV-STAR有板載調(diào)試器,所以短接冒接好,直接type-c連接就可以。這時(shí)候就該我的小米手機(jī)電源線上場(chǎng)了。

          芯來(lái)科技官網(wǎng)可以找到驅(qū)動(dòng)軟件,雙擊即可安裝。其鏈接如下:

          https://www.nucleisys.com/developboard.php

          下載DEMO工程

          在github下載RV-STAR的demo工程,其鏈接如下:

          https://github.com/riscv-mcu/ses_nuclei_sdk_projects

          這個(gè)有點(diǎn)慢,真要吐糟一下github,真的是越來(lái)越慢了,下載這個(gè)包花了點(diǎn)時(shí)間。

          下載后直接雙擊打開(kāi)rvstardemos文件夾,雙擊rvstardemos.emProject即可打開(kāi)IDE。

          選擇running_led工程,直接按f5即可進(jìn)入調(diào)試模式。

          點(diǎn)擊運(yùn)行,這時(shí)候按鍵就會(huì)看到led在紅綠藍(lán)白之間切換。如果有串口調(diào)試助手的話也可以在串口調(diào)試助手看到輸出,Embedded Studio也自帶串口調(diào)試助手。


          到此,我的第一個(gè)demo算是跑通了,整體感覺(jué)還是很方便上手。主要是芯來(lái)把整個(gè)編緝、調(diào)試工具鏈都準(zhǔn)備好了,只用照著操作就好了。但具體的這塊板子能做什么應(yīng)用,還要自己去研究。官方的例子還蠻多,后面有空再慢慢研究吧。







          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();