色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

GD32VF103:采用RISC-V內核設計的MCU

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-06-17 09:50 ? 次閱讀

GD32VF103 開發板

去年九月份的時候 RT-Thread 的 Andy Chen 組織定做了一塊 GD32V 開發板,托 Andy 的福,我也搭車買了一塊。

這塊開發板小巧精美,供電、燒錄、調試信息打印都是通過一個 Type-C USB 接口進行,更重要的是它所搭載的主控芯片 GD32VF103 是一顆采用 RISC-V 內核設計的 MCU,這對于對 RISC-V 感興趣的同學來說,具有十足的吸引力。

GD32VF103 系列 SOC 是兆易創新與芯來科技合作,基于 RISC-V 架構設計的一款面向 IOT 領域的 MCU,主頻最高 108 MHZ,根據定位差異,片內 Flash 16~128 KB,片上 SRAM 8~32 KB。

d75edeb8-edce-11ec-ba43-dac502259ad0.png

d7750576-edce-11ec-ba43-dac502259ad0.png

在定制這塊板子的時候,陳老大為我們選了 Flash 和 SRAM 容量最大的那顆,所以在選擇上大家不用糾結。

更加難能可貴的是兆易開放了完整的用戶手冊,有 500 多頁。這顆芯片采用的 RISC-V 內核是芯來科技設計的,代號 Bumblebee,芯來科技也開放了一份關于 Bumblebee 的指令架構手冊,詳細描述了這顆芯片采用的 RISC-V 指令集、內核特權架構、中斷異常、Timer 以及低功耗相關的機制,總的來說,用這顆芯片來做 RISC-V 相關的研究學習,還是很合適的。

SDK

隨開發板配套了一份 RT-Thread Nano SDK,里面還包含有開發板的原理圖和簡單的使用手冊以及代碼燒寫工具 GigaDevice MCU ISP Programmer ,整套 SDK 可以在 https://realthread.cowtransfer.com/s/8350a2c039b740 下載

由于當時為了讓大家盡快拿到開發板,所以倉促中板子上的 JTAG 口留下了一點小瑕疵——如果要連 JTAG 的話,需要做一點小修改,這個在開發板原理圖《GD32VF_EVB_V1_20190901》中有說明。

參考配套文檔《GD32VF使用說明_20190919》 即可完成 RT-Thread 代碼的編譯,然后根據該文檔描述的固件燒錄方法,按著板子的 BOOT0 按鍵,再按 RESET 按鍵使板子進入燒寫模式,然后通過GigaDevice MCU ISP Programmer 燒錄固件到板子上。

需要注意的是,板子燒錄固件是通過板子上的 UART 轉 USB 燒寫的,燒錄時串口波特率需要設置為 256000,系統啟動后,RT-Thread 也通過這個 UART 打印調試信息,打印調試信息的波特率為 115200,注意不要搞錯了。

另外,同一時刻,串口調試工具和 GigaDevice MCU ISP Programmer 燒錄軟件,只有一個能占用串口,所以在燒錄固件之前要記得關閉串口調試工具,否則有可能會無法正常進入燒錄模式。

運行 RT-Thread mainline

如果是做產品的話,使用芯片供應商提供的 SDK 是最靠譜的,如果是學習研究的話,我一向喜歡嘗試最新的代碼,所以 RT-Thread mainline 是一定要試一試的。

安裝 ENV 工具 和 risc-v toolchain

RT-Thread 支持 Windows 和 Linux 兩種編譯開發環境,這里我打算在 Windows 下編譯開發,所以需要先去 RT-Thread 官網下載一個 ENV 工具:https://www.rt-thread.org/page/download.html

工具下載下來后解壓到任何你喜歡的地方,但是記住路徑里面不要有中文字符,雙擊 env.exe 可執行程序就可以啟動進入命令行模式,還可以通過右鍵把它添加到 Windows 的開始工具欄。

關于 ENV 的詳細使用說明可以參考《Env用戶手冊》和 《RT-Thread 編程指南》,這兩份文檔在 RT-Thread 官網都可以下載:https://www.rt-thread.org/document/site/

我發現工具里面默認只帶了 arm_gcc 的 toolchain,這里要編譯 RISC-V,所以還需要下載 RISC-V 的 toolchain,RISC-V 官方的 toolchain 在 Github 上,地址如下:https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases :

d78a0cbe-edce-11ec-ba43-dac502259ad0.png

選擇對應的版本,下載后解壓到 ENV 工具的 /tools/gnu_gcc/risc-v/目錄下。

d7a549fc-edce-11ec-ba43-dac502259ad0.png

為了能在 ENV 命令行里面認到 riscv-none-embed-gcc 相關的命令,還需要做如下修改:

d7bdbff0-edce-11ec-ba43-dac502259ad0.png

即在 env 的 tools/ConEmu/ConEmu/CmdInit.cmd 文件里重新設置 RTT_EXEC_PATH 環境變量,把原來的 arm_gcc 路徑替換成剛才下載的 risc-v toolchain 的安裝路徑。

我查閱了前面提到的兩份RT-Thread 文檔和官網論壇上關于 ENV 的常見問題問答貼,沒找到關于在 ENV 里面添加 命令的修改說明,所以上面這個修改方法是我嘗試出來的,不一定科學,如果有人知道更科學的修改方法,請告訴我。

當然,前面的 SDK 包里也提供了 env 和 risc-v toolchain,但是在這里我想用最新的工具和代碼從頭開始嘗試下整個過程。

修改 RT-Thread mainline 代碼

RT-Thread 的官方代碼托管在 Github 上,可以通過 git 下載:

git clone https://github.com/RT-Thread/rt-thread.git

其實 RT-Thread mainline 已經支持了 GD32VF103 ,不過對應的開發板是 GigaDevice 官方的 gd32vf103-eval。

d7dd7e58-edce-11ec-ba43-dac502259ad0.png

這塊開發板和我手上的開發板有個很重要的區別——這塊開發板上面有貼一顆外部高速晶振,而我手上的板子沒有貼,芯片是依靠內部的 8M RC 振蕩時鐘工作的,內部振蕩時鐘的精度要低一些,但是對于不使用以太網的場合,基本是夠用的。

所以在系統時鐘配置部分需要做如下修改:

d7f25b34-edce-11ec-ba43-dac502259ad0.png

即把 __SYSTEM_CLOCK_108M_PLL_IRC8M 這個宏打開, __SYSTEM_CLOCK_108M_PLL_HXTAL 這個宏屏蔽。

我們板子上有帶 三個 LED、所以流水燈這種經典項目必須加上:

在 bsp/gd32vf103v-eval/applications/main.c 文件的 main 函數中加入如下內容:

rt_kprintf("Hello GD32VF103VBT6! build %s %s ", __DATE__, __TIME__); // gpio clk rcu_periph_clock_enable(RCU_GPIOE); // gpio init gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_2MHZ, GPIO_PIN_3); gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_2MHZ, GPIO_PIN_4); gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_2MHZ, GPIO_PIN_5); while (1) { gpio_bit_reset(GPIOE, GPIO_PIN_3);rt_thread_mdelay(300); gpio_bit_reset(GPIOE, GPIO_PIN_4);rt_thread_mdelay(300); gpio_bit_reset(GPIOE, GPIO_PIN_5);rt_thread_mdelay(300); gpio_bit_set(GPIOE, GPIO_PIN_3);rt_thread_mdelay(30); gpio_bit_set(GPIOE, GPIO_PIN_4);rt_thread_mdelay(30); gpio_bit_set(GPIOE, GPIO_PIN_5);rt_thread_mdelay(30); }

修改后的代碼我推送到了Gitee 上,如果有同學感興趣,可以直接 clone 下來 have a try:

git clone https://gitee.com/andyshrk/rt-thread.git

編譯

打開 ENV 工具,進入 RT-Thread 源碼的 /bsp/gd32vf103v-eva/ 目錄下運行 scons 命令進行編譯:

d81072d6-edce-11ec-ba43-dac502259ad0.png

編譯成功會生成 rtthread.bin 文件,參考提到的文檔使用 GigaDevice MCU ISP Programmer 燒寫到開發板上。

系統成功啟動后在串口中會看到如下打印,并且板子上的 3 個 LED 燈會輪流閃爍:

d837b5f8-edce-11ec-ba43-dac502259ad0.png

這個 warning 似乎是因為某個堆棧設置的太小了,等我后面具體看下代碼再處理掉。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17312

    瀏覽量

    352212
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    97964
  • RISC-V
    +關注

    關注

    45

    文章

    2320

    瀏覽量

    46376

原文標題:在 RISC-V 芯片 GD32V 上運行 RT-Thread

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    GD32V系列RISC-V內核32位通用MCU怎么樣?

    GD32VF103系列MCU采用了全新的基于開源指令集架構RISC-V的Bumblebee處理器內核,是兆易創新(GigaDevice)攜手
    的頭像 發表于 09-24 08:02 ?1.2w次閱讀

    擁抱RISC-V的開發世界 兆易創新推GD32VF103系列RISC-V MCU

    兆易創新推出GD32V系列RISC-V內核32位通用MCU新品,現在,直接使用GD32V系列32位通用M
    發表于 08-23 10:05 ?7986次閱讀

    RISC-V內核的32位通用微控制器 GD32VF103芯片簡介

    1. 芯片簡介 GD32VF103系列MCU是基于RISC-V內核的32位通用微控制器,具備均衡的處理效能和系統資源,適用于工業控制、消費電子、新興IoT等嵌入式市場應用。
    發表于 10-23 06:46

    兆易創新GD32VF103R-START開發板免費試用

    GD32VF103系列是全球首個基于RISC-V內核的32位通用MCU產品,其處理器內核擁有先進的微架構設計以權衡性能和面積的要求,特別適合
    發表于 04-11 18:50

    【名單已公布】【RISC-V專題】兆易創新GD32VF103R-START開發板免費試用

    ! 兆易創新作為此次活動的合作廠商,同步上線GD32VF103R-START開發板評測試用活動。 GD32VF103R-START開發板GD32VF103系列是全球首個基于RISC-V
    發表于 04-14 14:59

    【兆易創新GD32VF103R-START開發板試用體驗】GD32VF103介紹及開發環境搭建

    (Gigadevice)針對其面向 IoT 或其他超低功耗場景的通用 MCU產品定制的一款商用 RISC-V 處理器內核,專用于型號為 GD32VF103
    發表于 05-17 10:12

    [每日一芯]兆易創新 GD32VF103系列 32位 RISC-V內核 通用MCU 附完整資料

    GD32VF103系列MCU是基于RISC-V內核的32位通用微控制器,具備均衡的處理效能和系統資源,適用于工業控制、消費電子、新興IoT等嵌入式市場應用。Max Speed
    發表于 07-07 14:51

    【兆易創新GD32VF103R-START開發板試用體驗】試用個人感受

    GD32VF103這是全球首款RISC-V內核32位通用MCUGD32VF103采用
    發表于 07-14 15:56

    一款基于GD32VF103 MCURISC-V評估開發板(RV-STAR)原理圖資料

    RV-STAR是一款基于GD32VF103 MCURISC-V評估開發板,提供了板載調試器、Reset和Wakeup用戶按鍵、RGB LED、USB OTG,以及EXMC、Arduino和PMOD擴展接口等資源。大家想要什么樣
    發表于 03-30 15:34

    我所知道的國內具有RISC-V內核MCU

    列單片機可使用MounRiver Studio(MRS)進行開發。 2、GD32VF103系列:兆易創新作為國產MCU比較大的一個廠家,其早就推出了RISC-V內核的單片機
    發表于 05-14 09:18

    求助大神,大家都是用什么工具燒的GD32VF103RISC-V內核)程序?

    各位大佬用什么工具燒的GD32VF103RISC-V內核)程序?
    發表于 08-11 09:39

    基于RISC-V 架構設計 GD32V 上運行 RT-Thread

    、調試信息打印都是通過一個 Type-C USB 接口進行,更重要的是它所搭載的主控芯片 GD32VF103 是一顆采用 RISC-V 內核設計的
    的頭像 發表于 06-01 11:39 ?2265次閱讀
    基于<b class='flag-5'>RISC-V</b> 架構設計 <b class='flag-5'>GD32V</b> 上運行 RT-Thread

    GD32VF103 數據表

    GD32VF103 數據表
    發表于 02-22 18:30 ?0次下載
    <b class='flag-5'>GD32VF103</b> 數據表

    GD32VF103 用戶 手冊

    GD32VF103 用戶 手冊
    發表于 02-23 18:56 ?3次下載
    <b class='flag-5'>GD32VF103</b> 用戶 手冊

    GD32VF103數據表

    電子發燒友網站提供《GD32VF103數據表.pdf》資料免費下載
    發表于 01-17 14:17 ?0次下載
    <b class='flag-5'>GD32VF103</b>數據表
    主站蜘蛛池模板: 18亚洲男同gay1069| 在线 无码 中文 强 乱| 手机在线亚洲日韩国产| 亚洲欧美国产综合在线一区| 中文字幕人成人乱码亚洲影视S | 韩国演艺圈qvod| 免费特黄一区二区三区视频一| 特黄特色大片免费播放器试看| 又粗又大又爽又黄的免费视频| 高清欧美一区二区三区| 国产成人精品123区免费视频| 久久午夜夜伦痒痒想咳嗽P| 天天躁日日躁狠狠躁午夜剧场 | 欧美多人群p刺激交换电影| 亚洲人女同志video| 国产成人a v在线影院| 暖暖视频免费观看社区 | 男女高潮又爽又黄又无遮挡| 亚洲 综合 欧美在线 热| 不卡一区二区高清观看视频| 快播电影网站大全| 亚洲日本乱码中文论理在线电影| 高H辣肉办公室| 青青伊人精品| chinesedaddy80老年人| 乱码中字在线观看一二区| 伊人精品在线| 丰满少妇67194视频| 免费毛片试看| 中国少妇内射XXXX狠干| 韩国电影久久| 甜性涩爱dvd| 国产精品久久国产三级国不卡顿 | 性xxxx18公交车| 樱花草在线影视WWW日本动漫| 国产精品色午夜视频免费看| 挤奶门事件完整照片| 欧美ZC0O人与善交的最新章节| 中国农民真实bbwbbw| 久久综合丁香激情久久| 最新无码国产在线视频9299|