日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

嵌入式 | 如何在搭載了RT-Thread系統(tǒng)的STM32平臺上使用C++?

5RJg_mcuworld ? 來源:YXQ ? 2019-06-20 14:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文描述了如何使用在搭載了 RT-Thread 系統(tǒng)的 STM32 平臺上使用 C++,包括 C++的配置和應用等,并給出了在STM32F411 NUCLEO開發(fā)板上驗證的代碼示例。

硬件平臺簡介

本文基于意法半導體STM32F411 NUCLEO開發(fā)板,給出了 C++的具體應用示例代碼,由于RT-Thread上層應用API的通用性,因此這些代碼不局限于具體的硬件平臺,用戶可以輕松將它移植到其它平臺上。

STM32F411 NUCLEO是意法半導體推出的一款基于ARM Cortex-M4內核的開發(fā)板,最高主頻為100Mhz,該開發(fā)板具有豐富的板載資源,可以充分發(fā)揮STM32F411RE 的芯片性能。

STM32F411RE從屬于銷量名列前茅的STM32F4系列,眾所周知,F4是STM32主打高性能和數字信號處理的“輕奢”系列。

“奢侈”在F4作為內核為Cortex-M4 (DSP+FPU)的MCU,可選180MHz 主頻、2M Flash/384KB RAM、Chrom-ART加速器、MPI-DSI接口、延伸到125度的工作溫度、DFSDM數字濾波器以及各種常見的音頻(SAI)、連接(Ethernet、Camera、USB)、控制(CANUART、I2C)、存儲(FMC、2/4/8 bits SPI、SDMMC)外設。

“輕”在價格讓人“輕松”、尺寸“輕巧”(不到3mm*3mm的封裝)、功耗“輕微”。

如何在STM32上使用C++

準備工作

1、下載RT-Thread 源碼

2、下載ENV 工具

3、進入rt-threadspstm32f411-st-nucleo目錄,檢查 BSPrtconfig.py文件和SConstruct文件是否支持C++配置,如下圖所示

檢查rtconfig.py文件中對C++的支持

檢查SConstruct文件中對C++的支持

打開C++支持:

打開Env工具,在Env命令行中輸入menuconfig,進入配置界面,使用menuconfig工具(學習如何使用)配置工程。在menuconfig配置界面依次選擇RT-Thread Components ---> C++ features ---> Support C++ features,如圖所示:

編譯工程:scons --target=mdk51. 生成mdk5工程,將示例代碼附帶的main.cpp替換掉BSP中的main.c并重新加入到工程中,如圖所示:

編譯,下載程序,在終端輸入help命令可以看到test_cpp已經添加成功了。

運行C++程序:

在終端輸入test_cpp運行結果如下圖所示。

C++ 全局對象構造函數的調用

RT-Thread中對全局對象構造函數的實現中,以GNUC為例,在rt-threadcomponentscplusplus目錄下的crt_init.c文件中對C++進行了系統(tǒng)初始化, 在特定的BSP目錄下,連接腳本文件link.lds為C++全局構造函數的代碼分配了段,使C++全局對象構造函數鏈接后能夠存放在指定的段中。如下圖所示:

crt_init.c文件完成了C++系統(tǒng)的初始化工作

C++系統(tǒng)初始化部分:

 1RT_WEAKintcplusplus_system_init(void) 2{ 3typedefvoid(*pfunc)(); 4externpfunc__ctors_start__[]; 5externpfunc__ctors_end__[]; 6pfunc*p; 7 8for(p=__ctors_start__;p

在cplusplus_system_init函數中,將全局對象的構造函數依次鏈接到了鏈接腳本文件中為其分配的段中,并且調用了RT-Thread組件自動初始化的宏INIT_COMPONENT_EXPORT,所以在鏈接的時候,C++全局對象構造函數所產生的目標文件就被鏈接到了__ctors_start__和__ctors_end__組成的段中。

鏈接腳本中為C++全局構造函數分配的段部分:

1PROVIDE(__ctors_start__=.);2KEEP(*(SORT(.init_array.*)))3KEEP(*(.init_array))4PROVIDE(__ctors_end__=.);

__ctors_start__分配了C++全局構造函數段的起始地址,__ctors_end__分配了C++全局構造函數段的結束地址,所以全局構造函數在系統(tǒng)初始化的時候,就會被鏈接到這里分配的段地址中。

RT-Thread C++ 異常說明

同樣,在鏈接腳本文件link.lds中,也為C++異常分配了段地址:

1__exidx_start=.;2ARM.exidx:3{4*(.ARM.exidx*.gnu.linkonce.armexidx.*)5_sidata=.;6}>CODE7__exidx_end=.;

__exidx_start分配了C++異常的起始地址,__exidx_end分配了C++異常的結束地址,當異常產生的時候,就會被分配到指定的段地址中。

這里以一個C++除零異常的拋出和捕獲為例:

 1#include 2 3#defineMIN_VALUE(1e-4) 4#defineIS_DOUBLE_ZERO(d)(abs(d)

當除零異常發(fā)生的時候div_func函數會拋出一個異常,在throw_exceptions函數中會去捕獲這個異常。

下載代碼,并在終端輸入throw_exceptions運行結果如下圖所示。

到這一步為止,如何在搭載了RT-Thread系統(tǒng)的STM32平臺上如何使用C++的介紹就結束了。

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

    關注

    2313

    文章

    11195

    瀏覽量

    374754
  • C++
    C++
    +關注

    關注

    22

    文章

    2131

    瀏覽量

    77419

原文標題:如何在搭載了RT-Thread系統(tǒng)的STM32平臺上使用C++?

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    2026 RT-Thread全球技術大會演講征集開始啦!| 技術集結

    應用加速轉化。2025年大會由開源操作系統(tǒng)RT-Thread發(fā)起,攜手國內外頂尖企業(yè)與行業(yè)領袖,匯聚了超3萬名線上參與者,共同探討了邊緣計算、嵌入式系統(tǒng)、AIoT、RI
    的頭像 發(fā)表于 04-12 10:04 ?406次閱讀
    2026 <b class='flag-5'>RT-Thread</b>全球技術大會演講征集開始啦!| 技術集結

    硬實時·廣生態(tài)·強賦能,中國工業(yè)報解讀RT-Thread工業(yè)發(fā)展之路|新聞資訊

    近日,《中國工業(yè)報》深度報道RT-Thread(睿賽德)在工業(yè)邊端操作系統(tǒng)領域的發(fā)展路徑。報道指出,憑借25億的全球裝機量與近20年的開源積淀,
    的頭像 發(fā)表于 02-02 18:53 ?579次閱讀
    硬實時·廣生態(tài)·強賦能,中國工業(yè)報解讀<b class='flag-5'>RT-Thread</b>工業(yè)發(fā)展之路|新聞資訊

    RT-Thread Vector軟件包:嵌入式開發(fā)的動態(tài)數組容器 | 技術集結

    RT-Thread Vector軟件包:嵌入式開發(fā)的動態(tài)數組容器 | 技術集結
    的頭像 發(fā)表于 01-25 09:33 ?5683次閱讀
    <b class='flag-5'>RT-Thread</b> Vector軟件包:<b class='flag-5'>嵌入式</b>開發(fā)的動態(tài)數組容器 | 技術集結

    智能門鎖:基于RT-Thread與FRDM-MCXA156的多外設嵌入式實踐 | 技術集結

    本項目為RT-Thread嵌入式大賽獲獎作品,基于恩智浦MCXA156系列微控制器構建了一款多功能智能門鎖控制系統(tǒng)。目前,恩智浦已有多款產品對RT-Thread完成了適配。近期,MCX
    的頭像 發(fā)表于 01-23 11:06 ?8681次閱讀
    智能門鎖:基于<b class='flag-5'>RT-Thread</b>與FRDM-MCXA156的多外設<b class='flag-5'>嵌入式</b>實踐 | 技術集結

    STM32開發(fā)中的五大嵌入式系統(tǒng)

    STM32開發(fā)中常見的嵌入式系統(tǒng)有:FReeRTOS、μC/OS-II和μC/OS-II、RT-Thre
    發(fā)表于 01-21 10:48

    2025 RT-Thread 嵌入式大賽排名公布!作品共賞,看大獎花落誰家!

    2025RT-Thread嵌入式大賽感謝所有開發(fā)者的熱情參與和大力支持,2025年RT-Thread嵌入式大賽圓滿收官!本屆大賽共設立軟件賽道與硬件賽道,吸引
    的頭像 發(fā)表于 12-11 18:09 ?3611次閱讀
    2025 <b class='flag-5'>RT-Thread</b> <b class='flag-5'>嵌入式</b>大賽排名公布!作品共賞,看大獎花落誰家!

    RT-Thread嵌入式系統(tǒng)工程師認證 | 雄鷹計劃

    你是否感覺對口就業(yè)非常難,苦于沒有平臺對能力進行匹配?您是否期待在校期間就可以獲得offer?您是否渴望在實時操作系統(tǒng)領域大展拳腳?是否期待獲得權威認證,為實習就業(yè)增添砝碼?嵌入式系統(tǒng)
    的頭像 發(fā)表于 11-08 09:34 ?924次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>工程師認證 | 雄鷹計劃

    【好書推薦】RT-Thread第22本相關書籍!《嵌入式實時操作系統(tǒng)開發(fā)實踐》| 技術集結

    教學的首選平臺。本次推薦的第22本RT-Thread相關書籍——《嵌入式實時操作系統(tǒng)開發(fā)實踐(基于英飛凌PSoC62和RT-Thread)》
    的頭像 發(fā)表于 10-16 18:46 ?894次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>第22本相關書籍!《<b class='flag-5'>嵌入式</b>實時操作<b class='flag-5'>系統(tǒng)</b>開發(fā)實踐》| 技術集結

    RT-Thread 2025嵌入式軟件大賽重磅來襲

    為激發(fā)開發(fā)者潛能、促進技術交流,RT-Thread 正式啟動2025年度嵌入式軟件大賽! 本賽道為嵌入式軟件大賽,聚焦嵌入式軟件設計與開發(fā),攜手瑞薩、英飛凌、ST、恩智浦、富瀚微、玄
    的頭像 發(fā)表于 09-22 16:40 ?3760次閱讀
    <b class='flag-5'>RT-Thread</b> 2025<b class='flag-5'>嵌入式</b>軟件大賽重磅來襲

    RT-Thread 2025嵌入式軟件大賽重磅來襲

    為激發(fā)開發(fā)者潛能、促進技術交流,RT-Thread正式啟動2025年度嵌入式軟件大賽!本賽道為嵌入式軟件大賽,聚焦嵌入式軟件設計與開發(fā),攜手瑞薩、英飛凌、ST、恩智浦、富瀚微、玄鐵、兆
    的頭像 發(fā)表于 09-20 10:06 ?1981次閱讀
    <b class='flag-5'>RT-Thread</b> 2025<b class='flag-5'>嵌入式</b>軟件大賽重磅來襲

    【好書推薦】RT-Thread第20本相關書籍!《嵌入式實時操作系統(tǒng)RT-Thread原理與應用》| 技術集結

    01內容簡介ContentSummary本書為讀者提供一個全面、系統(tǒng)RT-Thread學習指南,旨在幫助初學者及有經驗的開發(fā)者掌握RT-Thread實時操作
    的頭像 發(fā)表于 08-24 10:05 ?1330次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>第20本相關書籍!《<b class='flag-5'>嵌入式</b>實時操作<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>RT-Thread</b>原理與應用》| 技術集結

    經濟日報:國產嵌入式操作系統(tǒng)領軍企業(yè)RT-Thread正在持續(xù)把新思想、新技術留給上海|媒體視角

    經濟日報報道RT-Thread睿賽德2025世界人工智能大會落下帷幕,一系列亮眼成果為上海AI產業(yè)注入動力。作為國產嵌入式操作系統(tǒng)領軍企業(yè),RT-Thread睿賽德在大會中展現創(chuàng)新活力
    的頭像 發(fā)表于 08-05 21:02 ?1296次閱讀
    經濟日報:國產<b class='flag-5'>嵌入式</b>操作<b class='flag-5'>系統(tǒng)</b>領軍企業(yè)<b class='flag-5'>RT-Thread</b>正在持續(xù)把新思想、新技術留給上海|媒體視角

    【北京】RT-Thread 嵌入式操作系統(tǒng)專業(yè)培訓班,八月初火熱報名中! | 知行工坊

    深入內核,精通驅動,掌握調試!RT-Thread官方在8月1日-8月3日傾力打造為期三天的嵌入式操作系統(tǒng)專業(yè)培訓班,即將登陸北京!本次培訓聚焦RT-Thread核心原理與實戰(zhàn)開發(fā),助您
    的頭像 發(fā)表于 07-03 18:03 ?1581次閱讀
    【北京】<b class='flag-5'>RT-Thread</b> <b class='flag-5'>嵌入式</b>操作<b class='flag-5'>系統(tǒng)</b>專業(yè)培訓班,八月初火熱報名中! | 知行工坊

    【好書推薦】RT-Thread第17本相關書籍!嵌入式系統(tǒng)原理與開發(fā)

    ,無法真正落地應用?如果你也有這些困擾,那么這本書你一定不能錯過——《嵌入式系統(tǒng)原理與開發(fā):基于STM32CubeIDE和RT-Thread》。它將幫你從基礎原理到實
    的頭像 發(fā)表于 06-23 20:22 ?948次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>第17本相關書籍!<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>原理與開發(fā)

    2025 RT-Thread全球技術大會議程正式發(fā)布!

    。2024RT-Thread全球技術大會,由開源操作系統(tǒng)RT-Thread發(fā)起,并聯合國內外領先企業(yè)的重磅嘉賓,攜手國內外頂尖企業(yè)專家與超3萬名線上參與者,共議邊緣計算、嵌入式
    的頭像 發(fā)表于 05-27 19:28 ?1585次閱讀
    2025 <b class='flag-5'>RT-Thread</b>全球技術大會議程正式發(fā)布!
    山阳县| 静安区| 象州县| 天等县| 永仁县| 九江县| 平果县| 海口市| 宣威市| 大城县| 泾川县| 十堰市| 德惠市| 容城县| 营山县| 垦利县| 南安市| 福州市| 友谊县| 象州县| 伊通| 沂南县| 顺平县| 巴林右旗| 绥中县| 亳州市| 旬阳县| 邢台市| 若羌县| 瑞昌市| 绥中县| 赤城县| 西吉县| 蛟河市| 晋城| 香格里拉县| 庆阳市| 响水县| 咸丰县| 遵义市| 依兰县|