哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

讓 RT-Thread 用上 HyperRAM——e2studio 工程配置詳解 | 技術(shù)集結(jié)

RT-Thread官方賬號 ? 2026-04-27 18:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Titan-RA8P1板載32MB的HyperRAM用于擴展內(nèi)存空間。

https://club.rt-thread.org/ask/article/d1cedfd3e9ece158.html

上面的帖子中介紹如何在e2sutido中結(jié)合RT-Thread的代碼倉庫(使用的是最新的RT-Thread版本),在e2stduio中調(diào)試和下載RT-Thread工程。配置的過程繁瑣,如何進行工程復(fù)用?可以利用e2studio的工程導(dǎo)出功能導(dǎo)出e2studio工程。再利用e2studio中的”重命名并導(dǎo)入工程”的功能實現(xiàn)工程的復(fù)用。

如果需要切換FSP版本或者RT-Thread版本,則需要重新制作一個e2studio工程模板。本文介紹使用RT-Thread V5.1版本的代碼和FSP6.2.0創(chuàng)建e2studio工程模板,并使用e2studio的重命名導(dǎo)入功能,實現(xiàn)工程復(fù)用。

目錄

RT-Thread代碼添加


創(chuàng)建e2studio工程


添加HyperRAM


好物直達

1 RT-Thread代碼添加

RT-Thread Studio安裝RT-Thread v5.1,并從安裝路徑中使用RT-Thread代碼;

d4fab5fc-4220-11f1-ab55-92fbcf53809c.jpg

或者RT-Thread Github獲取v5.1的代碼。

https://github.com/RT-Thread/rt-thread/releases/tag/v5.1.0

這里將RT-Thread v5.1的源碼復(fù)制到rt-thread_5_1文件夾中,并和e2studio工程保持簡單的相對路徑。

2 創(chuàng)建e2studio工程

實現(xiàn)串口控制臺和GPIO功能,實現(xiàn)RT-Thread功能中最小的部分作為工程模板。

2.1 FSP工程建設(shè)

在工程界面選擇FSP6.2.0和Titan-Board對應(yīng)的MCU芯片型號,工程的編譯器選擇GCC。

d50eb62e-4220-11f1-ab55-92fbcf53809c.jpg

RTOS界面選擇”NO RTOS”,其余選項選擇默認即可。

d5229432-4220-11f1-ab55-92fbcf53809c.jpg

根據(jù)原理圖,串口的引腳如下:

d5352782-4220-11f1-ab55-92fbcf53809c.jpg

在clock界面中使能SCI 外設(shè)的時鐘。

d540c916-4220-11f1-ab55-92fbcf53809c.jpg

在FSP Configurator中的Stacks界面中添加串口模塊。

d54e4406-4220-11f1-ab55-92fbcf53809c.jpg

同時設(shè)置串口模塊的參數(shù)如下:

d55dae6e-4220-11f1-ab55-92fbcf53809c.jpg

保存并生成代碼。

2.2 添加RT-Thread BSP工程中的文件

官方代碼倉庫中對Titan RA8P1開發(fā)板進行適配,復(fù)制其中的部分文件到工程文件夾,用于RT-Thread代碼的配置、Scons輸出CMake信息、開發(fā)板外設(shè)和軟件組件適配等;

d5a3cf52-4220-11f1-ab55-92fbcf53809c.jpg

通過鏈接文件夾的方式添加RT-Thread源碼到工程中

d5e9e94c-4220-11f1-ab55-92fbcf53809c.jpg

由于工程和RT-Thread的相對路徑發(fā)生變更,需要修改頂層KConfig文件中變量。

mainmenu"RT-Thread Configuration"config BSP_DIR string option env="BSP_ROOT" default"."config RTT_DIR string option env="RTT_ROOT" default"../../rt-thread_5_1"# you can change the RTT_ROOT default"../.."to your rtthread_root,# example : default"F:/git_repositories/rt-thread"config PKGS_DIR string option env="PKGS_ROOT" default"packages"config ENV_DIR string option env="ENV_ROOT" default"/"source"$RTT_DIR/Kconfig"source"$PKGS_DIR/Kconfig"source"libraries/Kconfig"source"$BSP_DIR/board/Kconfig"

復(fù)制librarys/HAL_Drivers中的部分文件到工程目錄中并保持目錄結(jié)構(gòu),用于支持開發(fā)板的外設(shè)。

d5fd61f2-4220-11f1-ab55-92fbcf53809c.jpg

工程為保持精簡,board文件夾中的內(nèi)容刪除多余的文件,保留圖中的文件。刪除的文件可以后續(xù)根據(jù)功能添加。

d60c8f60-4220-11f1-ab55-92fbcf53809c.jpg

其中的KConfig文件修改為以下內(nèi)容

mainmenu"RT-Thread Configuration"config BSP_DIR string option env="BSP_ROOT" default"."config RTT_DIR string option env="RTT_ROOT" default"../../rt-thread_5_1"# you can change the RTT_ROOT default"../.."to your rtthread_root,# example : default"F:/git_repositories/rt-thread"config PKGS_DIR string option env="PKGS_ROOT" default"packages"config ENV_DIR string option env="ENV_ROOT" default"/"source"$RTT_DIR/Kconfig"source"$PKGS_DIR/Kconfig"source"libraries/Kconfig"source"$BSP_DIR/board/Kconfig"

RT-Tread Studio工程中的SConstruct腳本中的RT-Thread源碼路徑需要根據(jù)文件路徑修改,用于后續(xù)使用scons --target=cmake指令獲取編譯的頭文件包含路徑和源文件索引信息。

ifos.path.exists('rt-thread'): RTT_ROOT = os.path.normpath(os.getcwd() +'/rt-thread')else: RTT_ROOT = os.path.normpath(os.getcwd() +'../../../rt-thread_5_1')

在工程文件夾中打開RT-Thread提供的env控制臺,輸入menuconfig指令進入代碼配置界面,確認KConfig文件可以正確解析。

官方示例程序提供串口和GPIO控制,無需修改,直接使用即可。如果使用官方的BSP模板進行適配,可以參考之前的帖子進行移植。

https://club.rt-thread.org/ask/article/d1cedfd3e9ece158.html

2.3 e2studio工程調(diào)整

首先需要修改工程編譯器的參數(shù),修改FPU Type為fpv5-sp-d16,Other target flags的參數(shù)設(shè)置為-march=armv8.1 -m.main+mve.fp+fp.dp

d6189882-4220-11f1-ab55-92fbcf53809c.jpg

同時修改編譯器的優(yōu)化參數(shù)如下。

d62853a8-4220-11f1-ab55-92fbcf53809c.jpg

在工程屬性的Path and Symbols中,設(shè)置工程的包含路徑和源代碼管理。首先在env控制臺中運行scons --target=cmake獲取CMakeList.txt文件,獲取RT-Thread工程的編譯信息,據(jù)此添加路徑到Path and Symbols中。在Includes添加頭文件路徑,包括Assembly和GNU C兩部分如下。

d63aee6e-4220-11f1-ab55-92fbcf53809c.jpgd64570f0-4220-11f1-ab55-92fbcf53809c.jpg

在Symbols選項卡中添加以下宏定義

d6580fe4-4220-11f1-ab55-92fbcf53809c.jpg

在Source Location中添加.c源代碼路徑。結(jié)合CMakeList.txt文件中的Source文件管理,設(shè)置不同路徑的Filter選項,將不需要的文件排除到工程的構(gòu)建外。

d6641f1e-4220-11f1-ab55-92fbcf53809c.jpg

e2studio工程的src文件夾中的hal_warmstart.c中的代碼和RT-Thread提供的適配代碼沖突,在源碼控制中將其排除出構(gòu)建即可。

修改ra\fsp\src\bsp\cmsis\Device\RENESAS\Source\startup.c中的Reset_Handler函數(shù)如下

voidReset_Handler(void){ /* Initialize system using BSP. */ SystemInit(); /* Call user application. */#ifdefined(__GNUC__) externintentry(void); entry();#elifdefined(__ICCARM__) externvoid__low_level_init(void); __low_level_init();#else /* Jump to main. */ main();#endif while(1) { /* Infinite Loop. */ }}

在hal_entry.c添加以下代碼用于驗證RT-Thread成功運行。

#include#include"hal_data.h"voidhal_entry(void){ rt_kprintf("\nHello RT-Thread!\n"); rt_kprintf("==================================================\n"); rt_kprintf("This example project is RTThread Template Test!\n"); rt_kprintf("==================================================\n"); while(1) { rt_thread_mdelay(500); }}

e2studio工程生成srcipt文件夾中的fsp.ld鏈接文件通過引用文件的形式鏈接Debug文件夾中的fsp_gen.ld和memory_regions.ld。復(fù)制兩個文件中的內(nèi)容到fsp.ld中。

文件中定位到MCU Vector Table位置,添加以下內(nèi)容

/* MCU vector table */ __flash_vectors Base = .; _VECTORS = .; KEEP(*(.fixed_vectors)) KEEP(*(.application_vectors)) __flash_vectors$$Limit = .; /* section information for finsh shell */ . = ALIGN(4); __fsymtab_start = .; KEEP(*(FSymTab)) __fsymtab_end = .; . = ALIGN(4); __vsymtab_start = .; KEEP(*(VSymTab)) __vsymtab_end = .; /* section information for initial. */ . = ALIGN(4); __rt_init_start = .; KEEP(*(SORT(.rti_fn*))) __rt_init_end = .; . = ALIGN(4); KEEP(*(FalPartTable)) }> FLASH

另外定位到SDRAM區(qū)域具體可以參考工程中代碼查看,添加以下內(nèi)容

.ram.flat_nsc : { __sau_ddsc_RAM_NSC = .; }> RAM /* This symbol represents the end of user allocated RAM. The RAM after this symbol can be used at run time for things such as ThreadX memory pool allocations. */ __RAM_segment_used_end__ = ALIGN(__sau_ddsc_RAM_NSC ,4);


由于Titan-RA8P1使用的調(diào)試器是DAP固件,可以參考以下帖子在e2studio中使用PyOCD下載和調(diào)試程序。

https://club.rt-thread.org/ask/article/ee532d8d659ae45b.html

編譯并下載后,通過串口獲得如下輸出,驗證移植成功。

d683ec4a-4220-11f1-ab55-92fbcf53809c.jpg

2.4 工程導(dǎo)出以及重命名導(dǎo)入

利用e2studio的工程導(dǎo)出功能將移植成功的RT-Thread工程導(dǎo)出作為模板工程,進行復(fù)用。

d6923a52-4220-11f1-ab55-92fbcf53809c.jpg

導(dǎo)出工程時,勾選ra、ra_gen、ra_cfg中的SConscript文件的作用是在導(dǎo)出的工程中保留這些文件夾,避免FSP代碼生成工具生成代碼時覆蓋掉startup.c、fsp.ld等文件的改動。

導(dǎo)入工程時,選擇重命名并導(dǎo)入工程的選項。

d6a6b0e0-4220-11f1-ab55-92fbcf53809c.jpg

選擇之前導(dǎo)出的工程壓縮文件、重命名并導(dǎo)入即可利用模板工程進行開發(fā)。

d6b2d7d0-4220-11f1-ab55-92fbcf53809c.jpg

3 添加HyperRAM

板載32MB的HyperRAM,MCU通過OSPI與其通訊。導(dǎo)入之前的模板工程。

3.1 FSP添加配置

在FSP Configurator中修改設(shè)置,BSP選項卡中使能D-Cache,提高內(nèi)存數(shù)據(jù)傳輸速率。

d6c0c318-4220-11f1-ab55-92fbcf53809c.jpg

clocks界面中使能OCTACLK時鐘。

d6cc44e0-4220-11f1-ab55-92fbcf53809c.jpg

在Stacks選項卡中添加OSPI模塊。

d7099534-4220-11f1-ab55-92fbcf53809c.jpg

修改OSPI模塊的參數(shù)如下。

d74a6cee-4220-11f1-ab55-92fbcf53809c.jpgd75a0ae6-4220-11f1-ab55-92fbcf53809c.jpgd76fbf62-4220-11f1-ab55-92fbcf53809c.jpg

Pins選項卡中設(shè)置OSPI外設(shè)的引腳,并修改其中數(shù)據(jù)引腳的驅(qū)動能力和上下拉設(shè)置。

d77dd7c8-4220-11f1-ab55-92fbcf53809c.jpg

保存并生成代碼

3.2 添加HyperRAM驅(qū)動代碼

復(fù)制官方適配的HyperRAM驅(qū)動代碼到board\ports目錄中。

d78b62b2-4220-11f1-ab55-92fbcf53809c.jpg

在board\Kconfig文件中添加HyperRAM配置項

menu"On-chip Peripheral Drivers" rsource"../libraries/HAL_Drivers/drivers/Kconfig" config BSP_USING_OSPI_RAM bool"Enable ospi HyperRAM" defaultn endmenu


env工具中進入menuconfig界面,確認其中使能HyperRAM,并保存配置。

d798d29e-4220-11f1-ab55-92fbcf53809c.jpg

使用scons --target=cmake更新編譯信息,根據(jù)其中的內(nèi)容,修改工程的Path and Symbols,添加HyperRAM相關(guān)的頭文件路徑。

d7a41dc0-4220-11f1-ab55-92fbcf53809c.jpg

由于Source Location中添加board文件夾作為源代碼索引,會自動包含Hyperram的代碼,需要修改配置。

保存并編譯,燒錄工程到開發(fā)板運行。在串口控制臺中輸入help查看可用的指令。

d7ad6b28-4220-11f1-ab55-92fbcf53809c.jpg

運行hyper_ram_test進行RAM讀寫測試,測試輸出結(jié)果如下

d7bdb7e4-4220-11f1-ab55-92fbcf53809c.jpg

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

    關(guān)注

    30

    文章

    4977

    瀏覽量

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

    關(guān)注

    32

    文章

    1641

    瀏覽量

    45215
  • HyperRAM
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    RT-Thread記錄(二、RT-Thread內(nèi)核啟動流程)

    在前面我們RT-Thread Studio工程基礎(chǔ)之上講一講RT-Thread內(nèi)核啟動流程.
    的頭像 發(fā)表于 06-20 00:30 ?7296次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(二、<b class='flag-5'>RT-Thread</b>內(nèi)核啟動流程)

    RT-Thread Studio配置rtthread CANFD驅(qū)動來控制M3508電機

    本文旨在RT-Thread Studio配置rtthread CANFD驅(qū)動來控制M3508電機,不涉及任何原理 開發(fā)環(huán)境:RT-Thread
    發(fā)表于 10-08 11:44 ?2246次閱讀
    在<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>上<b class='flag-5'>配置</b>rtthread CANFD驅(qū)動來控制M3508電機

    如何使用rt-thread studio中,使用 定制化的SDK建立工程?

    --target=eclipse生成 rt-thread studio 工程rt-thread studio中,使用sdk Manag
    發(fā)表于 09-26 06:16

    RT-Thread Studio工程里添加文件到工程

    常見問題如何添加文件到工程可以直接通過復(fù)制粘貼往RT-Thread Studio工程里添加文件,甚至可以直接可以往工程里復(fù)制粘貼整個文件夾,
    發(fā)表于 03-29 06:44

    RT-Thread Studio 安裝教程

    RT-Thread 源碼版本,選擇對應(yīng)的 BSP,然后點擊完成按鈕,如下圖所示:點擊完成后,等待工程創(chuàng)建過程如下圖所示:工程創(chuàng)建成功后項目資源管理器窗口會出現(xiàn)剛創(chuàng)建的工程test,如
    發(fā)表于 08-10 14:12

    RT-Thread Studio 主要亮點功能

    RT-Thread Studio V1.1.0 快速上手體驗 RT-Thread Studio 主要包括工程創(chuàng)建和管理,代碼編輯,SDK管理
    的頭像 發(fā)表于 06-19 11:45 ?7175次閱讀

    基于RT-Thread的智慧路燈案例實驗分享

    這里我用的是RT-Thread Studio V1.1.0,這里的I2C的范例配置有點問題,其它版本的RT-Thread
    的頭像 發(fā)表于 07-01 14:43 ?4855次閱讀
    基于<b class='flag-5'>RT-Thread</b>的智慧路燈案例實驗分享

    RT-Thread Studio快速配置GPIO進行點燈

    本章通過RT-Thread Studio配置AB32VG1片上外設(shè)GPIO的引腳,控制RGB彩燈進行簡單的顏色變換
    發(fā)表于 12-14 18:44 ?10次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>快速<b class='flag-5'>配置</b>GPIO進行點燈

    RT-Thread STM32 配置系統(tǒng)時鐘(使用外部晶振)

    RT-Thread STM32 配置系統(tǒng)時鐘開發(fā)環(huán)境芯片:STM32F103RCT6RT-Thread Studio: V1.0.6(現(xiàn)在已經(jīng)更新到1.1.3,由于本人使用RTT開發(fā)已
    發(fā)表于 12-14 18:45 ?15次下載
    <b class='flag-5'>RT-Thread</b> STM32 <b class='flag-5'>配置</b>系統(tǒng)時鐘(使用外部晶振)

    RT-Thread Studio配置連接WIFI模塊

    通過 RT-Thread Studio 配置 AB32VG1 片上外設(shè) UART1 ,搭載 at_device 軟件包連接WIFI模塊
    發(fā)表于 12-20 19:11 ?17次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>配置</b>連接WIFI模塊

    RT-Thread Studio驅(qū)動SD卡

    RT-Thread Studio驅(qū)動SD卡前言一、創(chuàng)建基本工程1、創(chuàng)建Bootloader2、創(chuàng)建項目工程二、
    發(fā)表于 12-27 19:13 ?20次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>驅(qū)動SD卡

    基于RT-Thread Studio學習

    前期準備:從官網(wǎng)下載 RT-Thread Studio,弄個賬號登陸,開啟rt-thread學習之旅。
    的頭像 發(fā)表于 05-15 11:00 ?6636次閱讀
    基于<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>學習

    使用RT-Thread Studio進行智能家居終端的設(shè)計

    本次方案基于星火一號開發(fā)板開發(fā),使用RT-Thread Studio進行工程創(chuàng)建,代碼編輯,RT-Thread配置,調(diào)試
    的頭像 發(fā)表于 07-28 16:41 ?3172次閱讀
    使用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>進行智能家居終端的設(shè)計

    試用RT-Thread Studio(VSCode)

    想嘗試RT-Thread studio (VSCode),先下載安裝VSCode,再搜索RT-Thread
    的頭像 發(fā)表于 10-12 10:58 ?2218次閱讀
    試用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>(VSCode)

    RT-Thread新開發(fā)工具支持:e2studio手把手適配教程 | 技術(shù)集結(jié)

    實現(xiàn)RT-Thread工程的管理和調(diào)試。目錄硬件外設(shè)創(chuàng)建e2studio工程配置基本外設(shè)添加BSP模板并修改1硬件外設(shè)使用
    的頭像 發(fā)表于 04-02 18:06 ?3560次閱讀
    <b class='flag-5'>RT-Thread</b>新開發(fā)工具支持:<b class='flag-5'>e2studio</b>手把手適配教程 | <b class='flag-5'>技術(shù)</b><b class='flag-5'>集結(jié)</b>
    平泉县| 三江| 吕梁市| 德州市| 那坡县| 松潘县| 礼泉县| 泸定县| 怀化市| 鹰潭市| 闵行区| 应用必备| 巍山| 宾川县| 灵川县| 当涂县| 遵化市| 边坝县| 夏邑县| 青岛市| 依兰县| 安西县| 宁陵县| 阳曲县| 田东县| 江源县| 丹棱县| 松溪县| 玛多县| 徐州市| 纳雍县| 四子王旗| 海淀区| 花垣县| 大港区| 孝昌县| 长治县| 老河口市| 晋州市| 九江县| 镇远县|