91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

使用CMake+VSCode環(huán)境移植ThreadX到極海G32R501 MCU

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

掃碼添加小助手

加入工程師交流群

《極海芯得》系列內(nèi)容為用戶使用極海系列產(chǎn)品的經(jīng)驗(yàn)總結(jié),均轉(zhuǎn)載自21ic論壇極海半導(dǎo)體專區(qū),全文未作任何修改,未經(jīng)原文作者授權(quán)禁止轉(zhuǎn)載。

01、概述

我本人是 cmake+vscode 組合的忠實(shí)用戶,之前寫了一篇文章介紹了在 cmake+vscode 環(huán)境下開發(fā) G32R501 的一些實(shí)踐經(jīng)驗(yàn)。這篇文章準(zhǔn)備更進(jìn)一步:移植一個(gè)ThreadX。

關(guān)于 G32R501

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

產(chǎn)品主頁:https://www.geehy.com/product/fifth/G32R501

關(guān)于 ThreadX

最早由 Express Logic發(fā)布,2019年被微軟收購。2023微軟宣布將 ThreadX 捐贈(zèng)給 Eclipse 基金會(huì),更名為 Eclipse ThreadX,采用 Apache 2.0 協(xié)議完全開源。

工程目錄組織

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

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

主要的文件/文件夾有:

.vscode:VSCode 配置文件

build:構(gòu)建目錄

g32r501_sdk:G32R501 SDK 目錄

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

ports:移植文件

src:App 源碼

threadx:ThreadX 源碼

CMakeLists.txt:CMake 配置文件

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

02、移植步驟

構(gòu)建目錄

我的工作目錄是 D:g32r501_threadx,大家在實(shí)踐的時(shí)候可以自行選擇目錄。手動(dòng)創(chuàng)建這個(gè)目錄,在 powershell里切換到這個(gè)目錄,使用git init創(chuàng)建 git倉庫:

git init .

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

使用 git submodule加兩個(gè)子模塊,也就是 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

再手動(dòng)創(chuàng)建 keil-mdk,ports,src三個(gè)目錄。

移植詳解

G32G501 的內(nèi)核是 Cortex-M52,ThreadX目前沒有相關(guān)移植。我們以 Cortex-M55 為基礎(chǔ)修改,需要注意的是:

G32G501不具備Cortex-M55 安全相關(guān)特性,需要?jiǎng)h除相關(guān)代碼。

完成VOID _tx_initialize_low_level(VOID)這個(gè)函數(shù)及相關(guān)內(nèi)容。

第一步

復(fù)制 threadxportscortex_m55ac6目錄下的 inc 和 src目錄到 portsg32r501下。刪除 tx_initialize_low_level.S這個(gè)文件,創(chuàng)建 tx_initialize_low_level.c 代碼為可以參考 tx_initialize_low_level.S這個(gè)文件:

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

賦值 _tx_thread_system_stack_ptr為Stack指針。

ThreadX使用 SysTick作為系統(tǒng)滴答時(shí)鐘,OS外其他程序也會(huì)使用 SysTick時(shí)鐘,這里就不配置 SysTick稍后我們?cè)?main.c 文件處理 SysTick。

配置 PendSV_IRQn、SVC等幾個(gè)必須的中斷優(yōu)先級(jí)。

具體內(nèi)容參考下圖內(nèi)容:

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

第二步

修改 tx_thread_secure_stack.c文件。

需要?jiǎng)h除其中的 __attribute__((cmse_nonsecure_entry)) ,共有5行,全部刪除。不刪除的話也沒關(guān)系,編譯期間會(huì)有告警。

第三步

完成 SysTick設(shè)置。

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

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

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

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

main函數(shù)可以這樣寫:

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

App示例

App部分,我們先來點(diǎn)個(gè)燈~

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

CMake配置

兩個(gè)關(guān)鍵部分:一是ThreadX library,二g32r501_sdk。

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

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

CMakeLists.txt關(guān)鍵內(nèi)容:

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

VSCode配置

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

創(chuàng)建/修改文件 .vscodesettings.json:

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

"cmake.configureEnvironment"這里構(gòu)建是必須的環(huán)境變量ARMCLANG_PATH這個(gè)是 g32r501_sdk倉庫必須的內(nèi)容。

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

最后的 "cmake.generator"指定使用Ninja為構(gòu)建工具。

03、編譯&調(diào)試

編譯

準(zhǔn)備工作完成了,編譯就是一鍵完成:F7。等待編譯完成。

調(diào)試

VSCode中配合 armclang調(diào)試確實(shí)不方便,我們還是回到 keil中進(jìn)行調(diào)試工作。

倉庫 keil-mdk 文件夾下,有一個(gè) keil工程,直接打開就可以開始調(diào)試。但需要在調(diào)試前手動(dòng)下載程序。

因?yàn)楣こ汤餂]有任何文件,點(diǎn)擊編譯等按鈕都不會(huì)觸發(fā)任何操作~

如果調(diào)試中發(fā)現(xiàn)程序不能執(zhí)行,停止時(shí)PC在 0x10000000 代碼段的情況。那是因?yàn)?G32R501 DCS 沒有正確解鎖。請(qǐng)?jiān)趉eil工程配置中設(shè)置 InitiaizationFile 這個(gè)文件已經(jīng)在倉庫里,示意圖:

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

04、打完收工

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

https://gitee.com/quincyzh/g32r501_threadx

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

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

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

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

    關(guān)注

    147

    文章

    18934

    瀏覽量

    398530
  • threadx
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    14456
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    416

    瀏覽量

    29416
  • 極海半導(dǎo)體
    +關(guān)注

    關(guān)注

    0

    文章

    211

    瀏覽量

    4825

原文標(biāo)題:極海芯得 EP.74 | 使用CMake+VSCode環(huán)境移植ThreadX到G32R501

文章出處:【微信號(hào):geehysemi,微信公眾號(hào):Geehy極海半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    使用vscodecmake工具開發(fā)G32R501 MCU

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

    G32R501數(shù)據(jù)手冊(cè)# 內(nèi)置FPU,支持 Arm Helium,實(shí)時(shí)控制 MCU

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

    Cortex-M52內(nèi)核MCU G32R501在CoreMark的表現(xiàn)如何

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

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

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

    實(shí)時(shí)自控 精準(zhǔn)調(diào)速 | G32R501 2.2kW高性能矢量變頻器參考方案

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

    如何在Keil MDK環(huán)境移植ThreadX操作系統(tǒng)?

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

    于electronica 2024展示G32R5高性能實(shí)時(shí)控制MCU

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

    高效雙控 精準(zhǔn)卓越 | G32R501低壓無感雙電機(jī)參考方案

    降低成本、提高系統(tǒng)可靠性以及簡化電機(jī)結(jié)構(gòu)方面具有顯著優(yōu)勢。 隨著無傳感器電機(jī)控制技術(shù)的逐步成熟,其在工業(yè)自動(dòng)化、旋翼飛行器、空調(diào)外機(jī)等領(lǐng)域迎來廣闊的市場應(yīng)用前景。緊跟行業(yè)技術(shù)發(fā)展趨勢,推出G32R501低壓無感雙
    發(fā)表于 01-16 16:12 ?744次閱讀
    高效雙控 精準(zhǔn)卓越 | <b class='flag-5'>極</b><b class='flag-5'>海</b><b class='flag-5'>G32R501</b>低壓無感雙電機(jī)參考方案

    高效轉(zhuǎn)換 實(shí)時(shí)調(diào)控 | 基于G32R501的800W雙路MPPT微型逆變器參考方案

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

    半導(dǎo)體榮登2025中國IC設(shè)計(jì)Fabless100排行榜之TOP10微控制器公司

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

    半導(dǎo)體全數(shù)字雙向電源參考方案助力能效躍升

    半導(dǎo)體憑借在工業(yè)應(yīng)用領(lǐng)域深厚的技術(shù)積累,推出了基于G32R501實(shí)時(shí)控制MCU的全數(shù)字雙向電源參考方案,該方案具備高效率、高可靠、高轉(zhuǎn)換率、低噪聲和高性價(jià)比等特點(diǎn),為企業(yè)應(yīng)對(duì)關(guān)稅沖
    的頭像 發(fā)表于 04-12 14:15 ?1028次閱讀

    半導(dǎo)體G32R501:面向具身機(jī)器人的高性能、高安全實(shí)時(shí)控制MCU/DSP

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

    G32R501工業(yè)六軸機(jī)械臂參考方案釋放工業(yè)4.0產(chǎn)業(yè)價(jià)值

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

    特來電攜手半導(dǎo)體推出G32R501T實(shí)時(shí)控制MCU

    聯(lián)合開發(fā)的G32R501T實(shí)時(shí)控制MCU,這不僅是對(duì)AI智能充電與新能源領(lǐng)域核心技術(shù)的一次深度定義,更標(biāo)志著高端電源主控芯片朝著自主化、智能化邁出堅(jiān)實(shí)一步。
    的頭像 發(fā)表于 11-04 09:21 ?830次閱讀

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

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