chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

在Ubuntu上開發(fā)基于先楫MCU的RT-Thread應用指南

先楫半導體HPMicro ? 2025-08-29 12:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、前言

RT-Thread EnvRT-Thread推出的開發(fā)輔助工具,針對基于RT-Thread操作系統(tǒng)的項目工程,提供編譯構(gòu)建環(huán)境圖形化系統(tǒng)配置軟件包管理功能。其內(nèi)置的menuconfig提供了簡單易用的配置剪裁工具,可對內(nèi)核組件軟件包進行自由裁剪,使系統(tǒng)以搭積木的方式進行構(gòu)建。

先楫新發(fā)布的RT-Thread BSP v1.10也支持通過RT-Thread Env來方便的圖形化的配置和裁剪應用、完成編譯、生成cmake工程和Segger Embedded Studio工程等操作。

本文從介紹基于UbuntuRT-Thread開發(fā)環(huán)境的搭建開始,結(jié)合先楫RT-Thread BSP v1.10的新特性,介紹利用RT-Thread Env如何使用如下工具鏈來開發(fā)RT-Thread應用。

gcc

zcc

Segger Embedded Studio


2、準備開發(fā)環(huán)境

按照https://gitee.com/RT-Thread-Mirror/env提供的步驟依次安裝開發(fā)環(huán)境。


2.1 安裝RT-Thread Env環(huán)境


注意:以下配置環(huán)境變量的示例針對的是不熟悉Ubuntu的新手用戶,對于熟悉Linux環(huán)境變量配置的朋友,可按照自己的習慣來配置,實現(xiàn)同樣的效果即可。


1、下載并安裝

wget https://gitee.com/RT-Thread-Mirror/env/raw/master/install_ubuntu.shchmod777install_ubuntu.sh./install_ubuntu.sh--gitee

rm install_ubuntu.sh


2、準備環(huán)境

在 ~/.bashrc 的最后一行追加

source ~/.env/env.sh


3、注意事項

版本匹配要求:

先楫RT-Thread BSP v1.10是基于RT-Threadv5.0.2開發(fā)的,必須使用RT-Thread Env v1.5.2來開發(fā)。

環(huán)境配置問題解決方案:


當遇到 scons --menuconfig 命令異常時,請按以下步驟處理:

· 檢查是否安裝了沖突的kconfiglib

pip list | grep kconfiglib

· 如果已安裝(顯示版本信息),則執(zhí)行卸載

pip uninstall kconfiglib


2.1 安裝工具鏈

以下三個工具鏈,可根據(jù)個人的喜好來安裝

1、安裝gcc工具鏈

從如下鏈接下載gcc工具鏈:
https://github.com/hpmicro/riscv-gnu-toolchain/releases/download/2022.05.15/riscv32-unknown-elf-newlib-multilib_2022.05.15_linux.tar.gz

https://gitee.com/hpmicro/riscv-gnu-toolchain/releases/download/2022.05.15/riscv32-unknown-elf-newlib-multilib_2022.05.15_linux.tar.gz

解壓到指定的目錄,如opt/riscv32-unknown-elf-newlib-multilib

添加環(huán)境變量

在 ~/.bashrc 的最后一行追加RTT_RISCV_TOOLCHAIN
此處假定工具鏈被安裝/解壓到/opt/riscv32-unknown-elf-newlib-multilib

exportRTT_RISCV_TOOLCHAIN=/opt/riscv32-unknown-elf-newlib-multilib/bin


2、安裝zcc工具鏈

從兆松科技的官網(wǎng)的如下鏈接下載zcc 4.0.0zcc 4.1.1及以上版本的工具鏈
https://www.terapines.com/download/zcc

安裝到指定目錄。
以當前版本ZCC-Installer為例,按如下方式來安裝。

chmod777ZCC-Installer

sudo ./ZCC-Installer

在彈出的窗口中點擊Install,在新界面中選擇安裝的路徑,本文使用默認路徑/opt/Terapines/ZCC/4.0.0,繼續(xù)點擊Install,等待安裝完成并關閉安裝窗口。

添加到環(huán)境變量

在 ~/.bashrc 的最后一行追加ZCC_TOOLCHAIN_PATH

exportZCC_TOOLCHAIN_PATH=/opt/Terapines/ZCC/4.0.0/bin


3、安裝Segger Embedded Studio

從Segger官方網(wǎng)點如下鏈接下載Segger Embedded StudioLinux版本。

解壓并安裝。
以8.24版本為例,解壓到segger_embedded_studio_v824_linux_x64,通過命令行進入該文件夾,并通過如下命令安裝:

cd segger_embedded_studio_v824_linux_x64

sudo ./install_segger_embedded_studio

按默認路徑安裝到/opt/SEGGER/segger_embedded_studio_8.24

設置環(huán)境變量
在 ~/.bashrc 的最后一行追加SEGGER_TOOLCHAIN_PATH

export SEGGER_TOOLCHAIN_PATH=/opt/SEGGER/segger_embedded_studio_8.24/bin

按如下鏈接申請License(非商用可跳過這一步)
https://license.segger.com/hpmicro.cgi


4、安裝 OpenOCD

從如下鏈接下載OpenOCD,并解壓到指定目錄,如/opt/hpm-openocd
https://github.com/hpmicro/riscv-openocd/releases/download/hpm_xpi_v0.3.0/openocd-linux.tar.gz-設置環(huán)境變量在 ~/.bashrc 的最后一行追加:

export PATH=$PATH:/opt/hpm-openocd/bin

對于熟悉openocd編譯的用戶,也可自行基于https://github.com/hpmicro/riscv-openocd倉庫的taghpm_xpi_v0.3.0
完成克隆和編譯安裝,在此不作展開。


5、安裝 JLink 和 Ozone

該步驟為可選操作, 若手上沒有JLink硬件,可跳過。

從如下鏈接下載JLinkOzone安裝包并安裝
https://www.segger.com/downloads/jlink/


3、項目開發(fā)流程

基于先楫的RT-Thread BSP包,典型的開發(fā)模式如下所示:

準備工作

下載相近開發(fā)板的BSP包

導出相近例程

工程的配置

使用RT-Thread Env完成工程相應的配置

scons的語法管理新添加的代碼

指定編譯器、ARCH、ABI等信息

工程生成、編譯和調(diào)試

使用scons編譯,或者生成對應的cmakeSegger Embedded Studio工程

使用openocd+gdb調(diào)試,或使用ozone+jlink調(diào)試


3.1 準備工作

第一步: 下載 先楫BSP 包

用戶朋友可通過如下鏈接分別下載先楫官方開發(fā)板的BSP包。

開發(fā)板

倉庫鏈接

hpm6750evkmini

http://git-mirror.rt-thread.com:12236/hpmicro/rtt-bsp-hpm6750evkmini/archive/v1.10.0.zip

hpm6750evk2

http://git-mirror.rt-thread.com:12236/hpmicro/rtt-bsp-hpm6750evk2/archive/v1.10.0.zip

hpm6300evk

http://git-mirror.rt-thread.com:12236/hpmicro/rtt-bsp-hpm6300evk/archive/v1.10.0.zip

hpm6200evk

http://git-mirror.rt-thread.com:12236/hpmicro/rtt-bsp-hpm6200evk/archive/v1.10.0.zip

hpm5300evk

http://git-mirror.rt-thread.com:12236/hpmicro/rtt-bsp-hpm5300evk/archive/v1.10.0.zip

hpm5301evklite

http://git-mirror.rt-thread.com:12236/hpmicro/rtt-bsp-hpm5301evklite/archive/v1.10.0.zip

hpm6800evk

http://git-mirror.rt-thread.com:12236/hpmicro/rtt-bsp-hpm6800evk/archive/v1.10.0.zip

hpm6e00evk

http://git-mirror.rt-thread.com:12236/hpmicro/rtt-bsp-hpm6e00evk/archive/v1.10.0.zip

hpm6p00evk

http://git-mirror.rt-thread.com:12236/hpmicro/rtt-bsp-hpm6p00evk/archive/v1.10.0.zip

hpm5e00evk

http://git-mirror.rt-thread.com:12236/hpmicro/rtt-bsp-hpm5e00evk/archive/v1.10.0.zip


第二步:導出例程

解壓下載的BSP包,在包的根目錄,先楫提供了bsp_utils.py腳本,該腳本的簡要用法如下:

python bsp_utils.py -l查看BSP包支持的例程列表
python bsp_utils.py -e -p= -o=來導出指定的例程。若project_name的值為all,則導出所有支持的例程。

我們以blink_led例程為例,假定當前用戶的目錄為/home/builder/,可通過如下命令導出該例程。

python ./bsp_utils.py -e -p=blink_led -o=/home/builder

執(zhí)行完該操作后,可在/home/builder/blink_led目錄下找到該例程。


3.2 配置工程

第一步: 基于 RT-Thread Env 配置工程

1、通過menuconfig配置工程
基于上述教程,以blink_led例程為例,通過命令行進入/home/builder/blink_led目錄。

通過scons --menuconfig打開kconfig相關的配置,完成如下操作:

板級配置

內(nèi)核配置

組件配置

在線包配置

其他用戶添加的配置等

操作示例如下圖所示:

b821b312-848f-11f0-9080-92fbcf53809c.png

該操作和基于RT-Thread Studio中的圖形化操作很類似。

關于kconfig相關的背景知識,請自行通過deepseek或者搜索引擎檢索。

關于 RT-Thread Env 的詳細用法,請參考如下鏈接:

https://github.com/RT-Thread/rt-thread/blob/master/documentation/env/env.md#bsp-configuration-menuconfig

https://www.rt-thread.org/document/site/#/development-tools/env/env

2、通過scons腳本組織工程

詳見

https://www.rt-thread.org/document/site/#/development-tools/build-config-system/SCons


第二步:按需更改工具鏈參數(shù)

1、配置RV_ARCHRV_ABI(不適用于Segger Embedded Studio工程)

用戶可在工程目錄下的命令行執(zhí)行如下操作完成ABI的配置,若無該操作,默認值為RV_ABI=ilp32

exportRV_ABI=

用戶可在工程目錄下的命令行執(zhí)行如下操作完成ARCH的配置,若無該操作,默認值為RV_ARCH=rv32imac。

exportRV_ARCH=

支持的RV_ARCH和RV_ABI的組合有:

rv32imac + ilp32

rv32imafc + ilp32f

rv32gc + ilp32d


2、配置 RTT_BUILD_TYPE(不適用于Segger Embedded Studio工程)

用戶可通過如下操作完成RTT_BUILD_TYPE的配置,若無該操作,默認值為flash_debug。

exportRTT_BUILD_TYPE=

通常支持的RTT_BUILD_TYPE選項為:

ram_debug

ram_release

flash_debug

flash_relase

flash_hybrid_debug (僅限HPM5E00系列)

flash_hybrid_release (僅限HPM5E00系列)

詳細支持的選項可從rtconfig.py中查詢。


3、切換工具鏈
用戶可以工程目錄下使用如下操作完成工具鏈的切換,或無該操作,默認工具鏈為gcc

exportRTT_TOOLCHAIN_PLATFORM=

其中,platform支持的選項為:

gcc

zcc

segger


3.3第三步:生成、編譯和調(diào)試工程

使用scons腳本,用戶可以直接在命令行完成編譯等高級功能。

1、使用scons直接編譯生成可執(zhí)行文件

scons-jN

其中:N代表線程數(shù)。

對于各位命令行大神,可以使用openocd+riscv32-unknown-elf-gdb實現(xiàn)基于命令行的調(diào)試。
手握JLink的玩家,也可使用JLink+Ozone來調(diào)試。


2、生成cmake 工程

當使用gcczcc工具鏈時,可通過如下命令生成cmake工程。

scons --target=cmake

之后,大家可使用自己熟悉的支持cmake的IDE(如vscode, CLion等) 來打開cmake工程完成后續(xù)的開發(fā)和調(diào)試。

注意:
在該模式下,如果需要重新更改RT-Thread相關的配置,可能需要反復執(zhí)行如下操作:

scons--menuconfig

scons--target=cmake


3、生成Segger Embedded Studio工程

當使用segger工具鏈時,可通過如下命令生成Segger Embedded Studio工程。

exportRTT_TOOLCHAIN_PLATFORM=segger # Ensure this system variable is correct

scons --target=ses

注意:在該模式下,如果需要重新更改RT-Thread相關的配置,可能需要反復執(zhí)行如下操作:

scons--menuconfig

scons--target=cmake

在生成工程后,可使用如下命令打開工程

xdg-open project.emProject

b82e50c2-848f-11f0-9080-92fbcf53809c.png

注:默認生成的project.emProject中的RISC-V ISARISC-V ABI的組合為rv32imacilp32,如下圖所示。用戶可根據(jù)需要自己調(diào)整為相應的配置。

b83e210a-848f-11f0-9080-92fbcf53809c.png

之后,可通過Segger Embedded Studio實現(xiàn)開發(fā)和調(diào)試。調(diào)試的體驗和使用hpm_sdk一致。


4、典型示例

4.1 使用rv32imac+ilp32+gcc基于scons完成代碼的編譯

按如下示例腳本所示:

exportRTT_TOOLCHAIN_PLATFORM=gcc

exportRV_ARCH=rv32imac

exportRV_ABI=ilp32

scons-j16


4.2 使用 rv32gc+ilp32d + gcc基于scons完成cmake工程的生成

按如下示例腳本所示:

exportRTT_TOOLCHAIN_PLATFORM=gcc

exportRV_ARCH=rv32gc

exportRV_ABI=ilp32d

scons --target=cmake


4.3 使用 rv32imafc+ilp32f + zcc基于scons完成代碼的編譯

按如下示例腳本所示:

exportRTT_TOOLCHAIN_PLATFORM=zcc

exportRV_ARCH=rv32imafc

exportRV_ABI=ilp32f

scons-j16


4.4 使用 rv32gc+ilp32d + zcc基于scons完成cmake工程的生成

按如下示例腳本所示:

exportRTT_TOOLCHAIN_PLATFORM=zcc

exportRV_ARCH=rv32gc

exportRV_ABI=ilp32d

scons --target=cmake


4、小結(jié)

本文提供了在Ubuntu上開發(fā)基于先楫MCU的RT-Thread應用的簡要流程,實際體驗下來,整個過程和體驗還是簡單和直觀的。大家如果在使用過程中有任何疑問和建議,歡迎在公眾號下留言,或者在相應的github倉庫提issue。

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

    關注

    147

    文章

    18368

    瀏覽量

    378486
  • Ubuntu
    +關注

    關注

    5

    文章

    601

    瀏覽量

    32424
  • RT-Thread
    +關注

    關注

    32

    文章

    1496

    瀏覽量

    43472
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RT-Thread BSP v1.2.0的主要功能

    各位關注的小伙伴們, hpm_sdk v1.2.0發(fā)布一個多月后,基于該版本SDK的 RT-T
    發(fā)表于 08-14 11:13 ?761次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>RT-Thread</b> BSP v1.2.0的主要功能

    RT-Thread設備驅(qū)動開發(fā)指南基礎篇—以bsp的hwtimer設備為例

    RT-Thread設備驅(qū)動開發(fā)指南》書籍是RT-thread官方出品撰寫,系統(tǒng)講解RT-thread IO設備驅(qū)動開發(fā)方法,從三方面進行講解
    的頭像 發(fā)表于 02-20 16:01 ?2958次閱讀
    <b class='flag-5'>RT-Thread</b>設備驅(qū)動<b class='flag-5'>開發(fā)指南</b>基礎篇—以<b class='flag-5'>先</b><b class='flag-5'>楫</b>bsp的hwtimer設備為例

    RT-Thread驅(qū)動開發(fā)指南進階篇-動手驅(qū)動未適配的外設LCD

    經(jīng)過上一篇的《《RT-Thread設備驅(qū)動開發(fā)指南》基礎篇--以bsp的hwtimer設備為例》闡述,可以大致了解到RT-thread
    的頭像 發(fā)表于 02-25 11:04 ?4539次閱讀
    <b class='flag-5'>RT-Thread</b>驅(qū)動<b class='flag-5'>開發(fā)指南</b>進階篇-動手驅(qū)動<b class='flag-5'>先</b><b class='flag-5'>楫</b>未適配的外設LCD

    開發(fā)者分享 | 基于RT-Thread BSP,使用CLion開發(fā)應用

    本期開發(fā)者:朱彥祖RT-Thread資深工程師,HPM6700/6400元老級開發(fā)者及骨灰級用戶,輯生態(tài)社區(qū)常駐優(yōu)秀開發(fā)者,江湖人稱杭州吳
    的頭像 發(fā)表于 06-07 08:17 ?4075次閱讀
    <b class='flag-5'>開發(fā)</b>者分享 | 基于<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>RT-Thread</b> BSP,使用CLion<b class='flag-5'>開發(fā)</b>應用

    RT-Thread編程指南

    RT-Thread編程指南——RT-Thread開發(fā)組(2015-03-31)。RT-Thread做為國內(nèi)有較大影響力的開源實時操作系統(tǒng),本
    發(fā)表于 11-26 16:06 ?0次下載

    RT-Thread全球技術大會:RT-Thread編寫測試用例

    RT-Thread全球技術大會:RT-Thread編寫測試用例 ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:28 ?1883次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術大會:<b class='flag-5'>在</b><b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>編寫測試用例

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南
    發(fā)表于 02-22 18:23 ?10次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 潘多拉 STM32L475 上手<b class='flag-5'>指南</b>

    上海線下培訓:RT-Thread× HPM5300 for RT-Thread ,高性能 RISC-V 平臺開發(fā)快速上手

    RT-Thread的代表性產(chǎn)品和服務。 同時,我們也邀請到的資深工程師楊帆,他將為開發(fā)者們帶來期待已久的熱門技術主題培訓,RT-Thread
    的頭像 發(fā)表于 11-03 19:10 ?1282次閱讀
    上海線下培訓:<b class='flag-5'>RT-Thread</b>×<b class='flag-5'>先</b><b class='flag-5'>楫</b>  HPM5300 for <b class='flag-5'>RT-Thread</b> ,高性能 RISC-V 平臺<b class='flag-5'>開發(fā)</b>快速上手

    線下活動|HPM5300 for RT-Thread ,高性能 RISC-V 平臺開發(fā)快速上手

    公司最新技術和創(chuàng)新解決方案的機會。參與者將深入了解半導體和RT-Thread的代表性產(chǎn)品和服務。同時,我們也邀請到的資深工程師楊帆老
    的頭像 發(fā)表于 11-08 08:18 ?1018次閱讀
    線下活動|<b class='flag-5'>先</b><b class='flag-5'>楫</b>HPM5300 for <b class='flag-5'>RT-Thread</b> ,高性能 RISC-V 平臺<b class='flag-5'>開發(fā)</b>快速上手

    半導體亮相2023 RDC RT-Thread開發(fā)者大會

    2023年12月23日,上海臨港中心 - 國產(chǎn)高性能微控制器廠商上海半導體科技有限公司(半導體,HPMicro)攜其高性能MCU產(chǎn)品
    的頭像 發(fā)表于 12-25 17:18 ?1136次閱讀

    RT-Thread BSP v1.4.0 正式發(fā)布

    親愛的小伙伴們:我們很高興地通知您,RT-ThreadBSPv1.4.0正式發(fā)布了??!1個小轉(zhuǎn)變:從這個版本開始,我們將更側(cè)重于利用RT-Thread豐富的組件以及特色的在線包,基
    的頭像 發(fā)表于 02-19 12:20 ?1221次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b> <b class='flag-5'>RT-Thread</b> BSP v1.4.0 正式發(fā)布

    RT-Thread設備驅(qū)動開發(fā)指南》基礎篇--以bsp的hwtimer設備為例

    一、概述(一)RT-Thread設備驅(qū)動《RT-Thread設備驅(qū)動開發(fā)指南》書籍是RT-thread官方出品撰寫,系統(tǒng)講解RT-threa
    的頭像 發(fā)表于 02-24 08:16 ?3034次閱讀
    《<b class='flag-5'>RT-Thread</b>設備驅(qū)動<b class='flag-5'>開發(fā)指南</b>》基礎篇--以<b class='flag-5'>先</b><b class='flag-5'>楫</b>bsp的hwtimer設備為例

    半導體所有開發(fā)板已RT-Thread主線啦

    目前,半導體RT-Thread主線支持的開發(fā)板包含以下這些
    的頭像 發(fā)表于 06-05 08:17 ?1222次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體所有<b class='flag-5'>開發(fā)</b>板已<b class='flag-5'>上</b><b class='flag-5'>RT-Thread</b>主線啦

    【好書推薦】RT-Thread設備驅(qū)動開發(fā)指南

    強烈,他們迫切地希望有一本可以指導他們RT-Thread開發(fā)驅(qū)動的指南。為了解決開發(fā)者的燃眉
    的頭像 發(fā)表于 08-01 08:35 ?1671次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>設備驅(qū)動<b class='flag-5'>開發(fā)指南</b>

    Windows使用ENV工具開發(fā)基于MCURT-Thread應用

    前言Env是RT-Thread推出的開發(fā)輔助工具,針對基于RT-Thread操作系統(tǒng)的項目工程,提供編譯構(gòu)建環(huán)境、圖形化系統(tǒng)配置及軟件包管理功能。其內(nèi)置的menuconfig提供了簡單易用的配置剪裁
    的頭像 發(fā)表于 08-29 12:22 ?643次閱讀
    Windows<b class='flag-5'>上</b>使用ENV工具<b class='flag-5'>開發(fā)</b>基于<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>MCU</b>的<b class='flag-5'>RT-Thread</b>應用