在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內(nèi)不再提示

教你怎樣在主控芯片GD32V上運行RT-Thread?

FPGA之家 ? 來源:HackforFun ? 作者:HackforFun ? 2021-06-17 09:07 ? 次閱讀

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

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

GD32VF103 系列 SOC 是兆易創(chuàng)新與芯來科技合作,基于 RISC-V 架構(gòu)設計的一款面向 IOT 領(lǐng)域的 MCU,主頻最高 108 MHZ,根據(jù)定位差異,片內(nèi) Flash 16~128 KB,片上 SRAM 8~32 KB。

pYYBAGDKooyAXCgvAAF-8mLWKCg026.jpg

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

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

SDK

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

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

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

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

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

運行 RT-Thread mainline

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

安裝 ENV 工具 和 risc-v toolchain

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

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

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

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

poYBAGDKooWAPt3nAACORnvKy_w750.jpg

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

poYBAGDKonyADI0UAADBGgGOpQ0671.jpg

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

poYBAGDKonSALHKoAAHfkQAOY8M544.jpg

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

我查閱了前面提到的兩份RT-Thread 文檔和官網(wǎng)論壇上關(guān)于 ENV 的常見問題問答貼,沒找到關(guān)于在 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 已經(jīng)支持了 GD32VF103 ,不過對應的開發(fā)板是 GigaDevice 官方的 gd32vf103-eval。

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

所以在系統(tǒng)時鐘配置部分需要做如下修改:

pYYBAGDKom2AcqzkAAFvKIPonbQ775.jpg

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

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

在 bsp/gd32vf103v-eval/applications/main.c 文件的 main 函數(shù)中加入如下內(nèi)容:

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 命令進行編譯:

poYBAGDKomWAGcmuAAB28IT8zHg504.jpg

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

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

poYBAGDKol-ADfT0AAKfXuypns8145.jpg

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

責任編輯:lq6

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 主控芯片
    +關(guān)注

    關(guān)注

    2

    文章

    201

    瀏覽量

    24786
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1306

    瀏覽量

    40437

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    RT-ThreadCAN實踐

    開箱測試RT-Thread官方已完成了對英飛凌XMC7200EVK的移植,通過shell可以看到做好了uart3的console。本文將介紹如何進行RT-ThreadCan移植。接下來我們要完成CAN_FD的驅(qū)動移植,并正常啟動RT-T
    的頭像 發(fā)表于 11-13 01:03 ?1418次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>CAN實踐

    為什么rt-thread studio創(chuàng)建不了gd32的項目?

    為什么rt-thread studio中創(chuàng)建一個gd32項目時候,他打開的那個選型芯片型號是,安裝好了,沒有確認鍵啊,只有退出sdk管理器,然后就卡在那里了,創(chuàng)建不了
    發(fā)表于 09-27 09:52

    【QEMU系列】不用開發(fā)板運行RT-Thread指南-ARM架構(gòu)

    成為一個門檻。本文將詳細介紹如何在QEMU虛擬機的Vexpress-A9平臺運行RT-Thread,幫助開發(fā)者沒有實際硬件開發(fā)板的情況下,輕松體驗和學習
    的頭像 發(fā)表于 08-09 08:35 ?1070次閱讀
    【QEMU系列】不用開發(fā)板<b class='flag-5'>運行</b><b class='flag-5'>RT-Thread</b>指南-ARM架構(gòu)

    RT-Thread 新里程碑達成——GitHub Star 破萬!

    RT-Thread實時操作系統(tǒng)開源項目GitHub的star數(shù)量突破一萬!截止發(fā)文,RT-Thread作為實時操作系統(tǒng)在業(yè)界Star數(shù)量排名第一!倉庫地址:https://gith
    的頭像 發(fā)表于 07-04 08:35 ?525次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達成——GitHub Star 破萬!

    基于 RT-Thread專業(yè)版的EtherCAT主站方案

    特點。RT-Thread實時操作系統(tǒng)運行EtherCAT主站協(xié)議,大大提高了實時性,極大降低了循環(huán)同步抖動時間,可滿足各種對實時性要求苛刻的應用場景。以下是
    的頭像 發(fā)表于 06-19 08:35 ?1105次閱讀
    基于 <b class='flag-5'>RT-Thread</b>專業(yè)版的EtherCAT主站方案

    6月6日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    6月6日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和lin
    的頭像 發(fā)表于 05-28 08:35 ?494次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    5月16日南京站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    5月16日下午我們將在南京舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和li
    的頭像 發(fā)表于 05-01 08:35 ?423次閱讀
    5月16日南京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread混合部署Workshop北京站來啦!

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和l
    的頭像 發(fā)表于 04-19 08:34 ?477次閱讀
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站來啦!

    4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和l
    的頭像 發(fā)表于 04-16 08:35 ?474次閱讀
    4月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    【4月10日-深圳-workshop】RT-Thread帶你探索混合部署新模式

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和li
    的頭像 發(fā)表于 04-04 08:34 ?389次閱讀
    【4月10日-深圳-workshop】<b class='flag-5'>RT-Thread</b>帶你探索混合部署新模式

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和li
    的頭像 發(fā)表于 03-27 11:36 ?894次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和li
    的頭像 發(fā)表于 03-27 08:34 ?589次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    就在本周四!探索RT-Thread混合部署新模式!

    3月21日(本周四)我們將在上海張江舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺的實現(xiàn)同時運行RT-Thread
    的頭像 發(fā)表于 03-20 08:34 ?624次閱讀
    就在本周四!探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    如何在PSoC62 Evaluation kit開發(fā)板運行RT-Thread呢?

    本文主要介紹如何在PSoC62 Evaluation kit開發(fā)板運行RT-Thread,如何連接CYW43012 WiFi藍牙模組,以及如何進行WiFi聯(lián)網(wǎng)、網(wǎng)絡延遲、網(wǎng)絡帶寬測試。
    的頭像 發(fā)表于 02-27 10:49 ?1106次閱讀
    如何在PSoC62 Evaluation kit開發(fā)板<b class='flag-5'>上</b><b class='flag-5'>運行</b><b class='flag-5'>RT-Thread</b>呢?

    RT-Thread Studio使用GD-LINK下載,選擇DAP-LINK,編譯報錯怎么解決?

    下載源碼5.0.2, 使用RT-Thread Studio v2.2.7,導入bsp里面的RT-Thread Studio項目 MCU使用GD32F470ZKT6 使用
    發(fā)表于 02-26 06:47
    主站蜘蛛池模板: 色多多免费视频观看区一区 | 国产美女精品一区二区三区 | 美女拍拍拍免费视频观看 | 国产免费资源 | 性夜影院午夜看片 | 在线亚洲成人 | 深夜免费在线视频 | 天堂在线最新版在线www | 欧美一区二区三区在线观看 | 成人午夜小视频手机在线看 | 国产性夜夜性夜夜爽91 | 亚洲性天堂 | 巨乳色最新网址 | 日韩色天使综合色视频 | 视频福利网 | 亚洲人成电影综合网站色 | 欧美精品videosex极品 | 曰本又色又爽又黄三级视频 | 久久精品国产99精品国产2021 | 永久在线观看 | www.色视频 | 国产精品影视 | 国产亚洲一区二区精品 | 国产亚洲精品仙踪林在线播放 | 午夜视频在线观看免费高清 | 婷婷色香五月激情综合2020 | 国产美女主播在线 | 日本免费看黄 | 福利社91 | 日韩在线一区视频 | 国内精品免费视频自在线 | seetube18日本第一次 | 男女一区二区三区免费 | 717影院理论午夜伦八戒 | 人人做人人爽人人爱秋霞影视 | 77成人| 美女张开腿露尿口给男人亲 | 国产大乳喷奶水在线看 | 亚洲偷偷 | 222aaa免费 | 888米奇在线视频四色 |