国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

使用CMake+VSCode環境移植ThreadX到極海G32R501 MCU

Geehy極海半導體 ? 來源:21ic論壇極海半導體專區 ? 2026-03-09 14:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

《極海芯得》系列內容為用戶使用極海系列產品的經驗總結,均轉載自21ic論壇極海半導體專區,全文未作任何修改,未經原文作者授權禁止轉載。

01、概述

我本人是 cmake+vscode 組合的忠實用戶,之前寫了一篇文章介紹了在 cmake+vscode 環境下開發 G32R501 的一些實踐經驗。這篇文章準備更進一步:移植一個ThreadX。

關于 G32R501

G32R501是極海最新發布的實時控制 MCU,搭載Arm v8.1-M架構的ArmCortex-M52內核及自研紫電數學指令擴展單元,支持基于矢量擴充方案(MVE)的Arm HeliumTM技術,集成高性能感知,控制外設和靈活的外設互聯系統,支持-40°C~105°/125°C的寬環境工作溫度,適用于新能源逆變器、商業電源工業自動化、新能源汽車等廣泛領域。

產品主頁:https://www.geehy.com/product/fifth/G32R501

關于 ThreadX

最早由 Express Logic發布,2019年被微軟收購。2023微軟宣布將 ThreadX 捐贈給 Eclipse 基金會,更名為 Eclipse ThreadX,采用 Apache 2.0 協議完全開源。

工程目錄組織

還是之前的套路,先介紹一下代碼目錄組織:

0ea6c244-1866-11f1-90a1-92fbcf53809c.png

主要的文件/文件夾有:

.vscode:VSCode 配置文件

build:構建目錄

g32r501_sdk:G32R501 SDK 目錄

keil-mdk:keil 工程文件,主要用于Debug。

ports:移植文件

src:App 源碼

threadx:ThreadX 源碼

CMakeLists.txt:CMake 配置文件

這個目錄,是用git 進行源碼管理,powershell進行命令行操作。下面的操作會一步一步指示如何完成移植。

02、移植步驟

構建目錄

我的工作目錄是 D:g32r501_threadx,大家在實踐的時候可以自行選擇目錄。手動創建這個目錄,在 powershell里切換到這個目錄,使用git init創建 git倉庫:

git init .

0f025dde-1866-11f1-90a1-92fbcf53809c.png

使用 git submodule加兩個子模塊,也就是 g32r501_sdk和 threadx的目錄:

git submodule add https://gitee.com/quincyzh/hal_geehy_g32r501.git g32r501_sdk

git submodule add https://github.com/eclipse-threadx/threadx.git threadx

0f5bfad8-1866-11f1-90a1-92fbcf53809c.png

再手動創建 keil-mdk,ports,src三個目錄。

移植詳解

G32G501 的內核是 Cortex-M52,ThreadX目前沒有相關移植。我們以 Cortex-M55 為基礎修改,需要注意的是:

G32G501不具備Cortex-M55 安全相關特性,需要刪除相關代碼。

完成VOID _tx_initialize_low_level(VOID)這個函數及相關內容。

第一步

復制 threadxportscortex_m55ac6目錄下的 inc 和 src目錄到 portsg32r501下。刪除 tx_initialize_low_level.S這個文件,創建 tx_initialize_low_level.c 代碼為可以參考 tx_initialize_low_level.S這個文件:

可用 RAM空間首地址賦予 _tx_initialize_unused_memory這個指針。

賦值 _tx_thread_system_stack_ptr為Stack指針。

ThreadX使用 SysTick作為系統滴答時鐘,OS外其他程序也會使用 SysTick時鐘,這里就不配置 SysTick稍后我們在 main.c 文件處理 SysTick。

配置 PendSV_IRQn、SVC等幾個必須的中斷優先級。

具體內容參考下圖內容:

0fbea534-1866-11f1-90a1-92fbcf53809c.png

第二步

修改 tx_thread_secure_stack.c文件。

需要刪除其中的 __attribute__((cmse_nonsecure_entry)) ,共有5行,全部刪除。不刪除的話也沒關系,編譯期間會有告警。

第三步

完成 SysTick設置。

在 main.c 文件中,ThreadX初始化前完成 SysTick設置,就按1ms為周期:

101a9cf4-1866-11f1-90a1-92fbcf53809c.png

SysTick_Handler這個 ISR中需要調用 _tx_timer_interrupt() 就可以完成 ThreadX滴答~,需要注意的是如果使能 TX_ENABLE_EXECUTION_CHANGE_NOTIFY和 TX_EXECUTION_PROFILE_ENABLE兩個特性,還需要在 _tx_timer_interrupt()之前和之后調用_tx_execution_isr_enter()和 _tx_execution_isr_exit()。

10754f96-1866-11f1-90a1-92fbcf53809c.png

main函數可以這樣寫:

10cc7a82-1866-11f1-90a1-92fbcf53809c.png

App示例

App部分,我們先來點個燈~

1127042a-1866-11f1-90a1-92fbcf53809c.png

CMake配置

兩個關鍵部分:一是ThreadX library,二g32r501_sdk。

ThreadX library部分,把 threadx/common 下的全部源文件,port/g32r501 下的全部源文件都加入工程參與編譯就可以。

g32r501_sdk 部分,直接使用 add_subdirectory把 sdk加入工程就ok。這一部分是在 https://gitee.com/quincyzh/hal_geehy_g32r501.git這個倉庫完成,具體可以參考這個倉庫的內容。

CMakeLists.txt關鍵內容:

11854404-1866-11f1-90a1-92fbcf53809c.png

VSCode配置

為了更便捷地使用 vscode,可以添加一些配置:

創建/修改文件 .vscodesettings.json:

11e2d2d6-1866-11f1-90a1-92fbcf53809c.png

"cmake.configureEnvironment"這里構建是必須的環境變量ARMCLANG_PATH這個是 g32r501_sdk倉庫必須的內容。

"cmake.configureArgs是CMake配置工程時的參數,這里指定了一個 .cmake文件,也就是 g32r501_sdk/cmake/g32r501.cmake。文件說明了使用 armclang編譯套件。

最后的 "cmake.generator"指定使用Ninja為構建工具。

03、編譯&調試

編譯

準備工作完成了,編譯就是一鍵完成:F7。等待編譯完成。

調試

VSCode中配合 armclang調試確實不方便,我們還是回到 keil中進行調試工作。

倉庫 keil-mdk 文件夾下,有一個 keil工程,直接打開就可以開始調試。但需要在調試前手動下載程序。

因為工程里沒有任何文件,點擊編譯等按鈕都不會觸發任何操作~

如果調試中發現程序不能執行,停止時PC在 0x10000000 代碼段的情況。那是因為 G32R501 DCS 沒有正確解鎖。請在keil工程配置中設置 InitiaizationFile 這個文件已經在倉庫里,示意圖:

1243d1ee-1866-11f1-90a1-92fbcf53809c.png

04、打完收工

工程師們的時機都很寶貴,時間應該聚焦在app的編寫。所以我貼心的把整個移植工程上傳到 gitee 。大家可以自行取用,順手點個 star也是歡迎的~

https://gitee.com/quincyzh/g32r501_threadx

祝工程師朋友們編碼快樂,無 Bug ~~~

注:文章作者在原帖中提供了代碼文件,有需要請至原文21ic論壇

原文地址:https://bbs.21ic.com/forum.php?mod=viewthread&tid=3460432&_dsign=de9bc2fa

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

    關注

    147

    文章

    18934

    瀏覽量

    398477
  • threadx
    +關注

    關注

    0

    文章

    18

    瀏覽量

    14456
  • 移植
    +關注

    關注

    1

    文章

    416

    瀏覽量

    29414
  • 極海半導體
    +關注

    關注

    0

    文章

    211

    瀏覽量

    4825

原文標題:極海芯得 EP.74 | 使用CMake+VSCode環境移植ThreadX到G32R501

文章出處:【微信號:geehysemi,微信公眾號:Geehy極海半導體】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用vscodecmake工具開發G32R501 MCU

    目前官方提供的 IDE 開發環境有 Keil/IAR/Eclipse。都能很好的完成開發,但是 VS Code 配合 CMake 工具是更加“現代”的C/C++開發
    的頭像 發表于 11-25 14:45 ?3123次閱讀
    使用<b class='flag-5'>vscode</b>和<b class='flag-5'>cmake</b>工具開發<b class='flag-5'>極</b><b class='flag-5'>海</b><b class='flag-5'>G32R501</b> <b class='flag-5'>MCU</b>

    G32R501數據手冊# 內置FPU,支持 Arm Helium,實時控制 MCU

    G32R501實時控制MCU : 基本信息 : G32R5系列實時控制MCU搭載Arm v8
    的頭像 發表于 02-19 13:58 ?3277次閱讀
    <b class='flag-5'>極</b><b class='flag-5'>海</b><b class='flag-5'>G32R501</b>數據手冊# 內置FPU,支持 Arm Helium,實時控制 <b class='flag-5'>MCU</b>

    Cortex-M52內核MCU G32R501在CoreMark的表現如何

    要真正衡量一顆MCU的運算實力,CoreMark成績往往是一個比較客觀、公認的參考指標。到底這個G32R501跑起CoreMark來能交出怎樣的成績單?今天就讓我們一起“探秘”一番,看這款Cortex-M52 MCU在CoreM
    的頭像 發表于 03-09 14:09 ?191次閱讀
    <b class='flag-5'>極</b><b class='flag-5'>海</b>Cortex-M52內核<b class='flag-5'>MCU</b> <b class='flag-5'>G32R501</b>在CoreMark的表現如何

    G32R501實時控制 MCU 跨域新境界丨面向新一代高效能高實時控制設備

    首款基于Arm? Cortex?-M52雙核架構的實時控制MCU——G32R501渠道
    發表于 01-07 18:06 ?1604次閱讀
    <b class='flag-5'>極</b><b class='flag-5'>海</b><b class='flag-5'>G32R501</b>實時控制 <b class='flag-5'>MCU</b> 跨域新境界丨面向新一代高效能高實時控制設備

    實時自控 精準調速 | G32R501 2.2kW高性能矢量變頻器參考方案

    和穩定性,同時降低能耗和排放。這些特性使其更符合國際節能減排目標要求。 2.2kW高性能 矢量變頻器參考方案介紹 G32R501 2
    發表于 03-10 18:18 ?1314次閱讀
    實時自控 精準調速 | <b class='flag-5'>極</b><b class='flag-5'>海</b><b class='flag-5'>G32R501</b> 2.2kW高性能矢量變頻器參考方案

    如何在Keil MDK環境移植ThreadX操作系統?

    去年在threadx剛開源的時候移植體驗了一波,并分享了移植文章,最近發現這一年threadx在不斷的更新,目前更新至v6.1.6版本,所以更新最新版本的
    的頭像 發表于 06-16 16:53 ?3896次閱讀

    于electronica 2024展示G32R5高性能實時控制MCU

    近日,在2024德國慕尼黑國際電子元器件博覽會(electronica 2024)上大放異彩,展示了其最新的G32R5高性能實時控制MCU。 在此次博覽會上,
    的頭像 發表于 12-16 13:42 ?1408次閱讀

    高效雙控 精準卓越 | G32R501低壓無感雙電機參考方案

    降低成本、提高系統可靠性以及簡化電機結構方面具有顯著優勢。 隨著無傳感器電機控制技術的逐步成熟,其在工業自動化、旋翼飛行器、空調外機等領域迎來廣闊的市場應用前景。緊跟行業技術發展趨勢,推出G32R501低壓無感雙
    發表于 01-16 16:12 ?744次閱讀
    高效雙控 精準卓越 | <b class='flag-5'>極</b><b class='flag-5'>海</b><b class='flag-5'>G32R501</b>低壓無感雙電機參考方案

    高效轉換 實時調控 | 基于G32R501的800W雙路MPPT微型逆變器參考方案

    ,更是推動綠色能源普及的重要技術載體。 推出G32R501 800W雙路MPPT微型逆變器參考方案,旨在以更高效、更智能的量產級技術方案,助力全球能源轉型。該方案通過G32R501
    發表于 02-26 11:07 ?668次閱讀
    高效轉換 實時調控 | 基于<b class='flag-5'>G32R501</b>的800W雙路MPPT微型逆變器參考方案

    半導體榮登2025中國IC設計Fabless100排行榜之TOP10微控制器公司

    近日,在“中國IC設計成就獎”頒獎典禮中,微上榜中國微控制器公司Top 10,G32R501實時控制MCU斬獲“2025年度MCU”獎,
    的頭像 發表于 04-01 09:43 ?2003次閱讀

    半導體全數字雙向電源參考方案助力能效躍升

    半導體憑借在工業應用領域深厚的技術積累,推出了基于G32R501實時控制MCU的全數字雙向電源參考方案,該方案具備高效率、高可靠、高轉換率、低噪聲和高性價比等特點,為企業應對關稅沖
    的頭像 發表于 04-12 14:15 ?1028次閱讀

    半導體G32R501:面向具身機器人的高性能、高安全實時控制MCU/DSP

    要求。 ? ? 今天,在第十五屆松山湖中國IC創新高峰論壇中,珠海半導體有限公司實時控制MCU/DSP產品線高級產品經理盧鵬升帶來了面向具身機器人的高性能、高安全實時控制MCU/D
    發表于 05-13 12:12 ?1586次閱讀
    <b class='flag-5'>極</b><b class='flag-5'>海</b>半導體<b class='flag-5'>G32R501</b>:面向具身機器人的高性能、高安全實時控制<b class='flag-5'>MCU</b>/DSP

    G32R501工業六軸機械臂參考方案釋放工業4.0產業價值

    揮著重要作用,是現代工業自動化和智能化生產的核心工具。據Grand View Research數據分析,2024年全球工業機器人市場規模約為340億美元,預計2025年至2030年將以9.9%的復合年增長率持續增長,展現出巨大的市場潛力。 工業六軸機械臂參考方案,采用
    發表于 06-23 13:52 ?1834次閱讀
    <b class='flag-5'>極</b><b class='flag-5'>海</b><b class='flag-5'>G32R501</b>工業六軸機械臂參考方案釋放工業4.0產業價值

    特來電攜手半導體推出G32R501T實時控制MCU

    聯合開發的G32R501T實時控制MCU,這不僅是對AI智能充電與新能源領域核心技術的一次深度定義,更標志著高端電源主控芯片朝著自主化、智能化邁出堅實一步。
    的頭像 發表于 11-04 09:21 ?829次閱讀

    G32R501芯片與Jlink適配的過程解析

    適配芯片至Jlink,網上已經有許許多多的博客介紹了,但今天我們的主角G32R501不太一般,要是我們按照普通的芯片適配流程,大家會發現在最終對芯片進行程序進行下載的時候無法成功,那這是為什么呢?本文給大家介紹一下G32R501芯片,在適配Jlink的正確姿勢!
    的頭像 發表于 02-25 13:47 ?297次閱讀
    <b class='flag-5'>極</b><b class='flag-5'>海</b><b class='flag-5'>G32R501</b>芯片與Jlink適配的過程解析