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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

01、概述

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

關于 G32R501

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

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

關于 ThreadX

最早由 Express Logic發(fā)布,2019年被微軟收購。2023微軟宣布將 ThreadX 捐贈給 Eclipse 基金會,更名為 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 配置文件

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

02、移植步驟

構(gòu)建目錄

我的工作目錄是 D:g32r501_threadx,大家在實踐的時候可以自行選擇目錄。手動創(chuàng)建這個目錄,在 powershell里切換到這個目錄,使用git init創(chuàng)建 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

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

移植詳解

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

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

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

第一步

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

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

賦值 _tx_thread_system_stack_ptr為Stack指針。

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

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

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

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中需要調(diào)用 _tx_timer_interrupt() 就可以完成 ThreadX滴答~,需要注意的是如果使能 TX_ENABLE_EXECUTION_CHANGE_NOTIFY和 TX_EXECUTION_PROFILE_ENABLE兩個特性,還需要在 _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部分,我們先來點個燈~

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這個倉庫完成,具體可以參考這個倉庫的內(nèi)容。

CMakeLists.txt關鍵內(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這個是 g32r501_sdk倉庫必須的內(nèi)容。

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

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

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

編譯

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

調(diào)試

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

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

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

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

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

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

    關注

    147

    文章

    19094

    瀏覽量

    402736
  • threadx
    +關注

    關注

    0

    文章

    19

    瀏覽量

    14486
  • 移植
    +關注

    關注

    1

    文章

    417

    瀏覽量

    29518
  • 極海半導體
    +關注

    關注

    0

    文章

    221

    瀏覽量

    4825

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

文章出處:【微信號:geehysemi,微信公眾號:Geehy極海半導體】歡迎添加關注!文章轉(zhuǎ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 ?3293次閱讀
    使用<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ù)手冊# 內(nèi)置FPU,支持 Arm Helium,實時控制 MCU

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

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

    要真正衡量一顆MCU的運算實力,CoreMark成績往往是一個比較客觀、公認的參考指標。到底這個G32R501跑起CoreMark來能交出怎樣的成績單?今天就讓我們一起“探秘”一番,看這款Cortex-M52 MCU在CoreM
    的頭像 發(fā)表于 03-09 14:09 ?3823次閱讀
    <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實時控制 MCU 跨域新境界丨面向新一代高效能高實時控制設備

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

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

    和穩(wěn)定性,同時降低能耗和排放。這些特性使其更符合國際節(jié)能減排目標要求。 2.2kW高性能 矢量變頻器參考方案介紹 G32R501 2
    發(fā)表于 03-10 18:18 ?1363次閱讀
    實時自控 精準調(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剛開源的時候移植體驗了一波,并分享了移植文章,最近發(fā)現(xiàn)這一年threadx在不斷的更新,目前更新至v6.1.6版本,所以更新最新版本的
    的頭像 發(fā)表于 06-16 16:53 ?4030次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    適配芯片至Jlink,網(wǎng)上已經(jīng)有許許多多的博客介紹了,但今天我們的主角G32R501不太一般,要是我們按照普通的芯片適配流程,大家會發(fā)現(xiàn)在最終對芯片進行程序進行下載的時候無法成功,那這是為什么呢?本文給大家介紹一下G32R501芯片,在適配Jlink的正確姿勢!
    的頭像 發(fā)表于 02-25 13:47 ?579次閱讀
    <b class='flag-5'>極</b><b class='flag-5'>海</b><b class='flag-5'>G32R501</b>芯片與Jlink適配的過程解析
    铅山县| 扶绥县| 潼南县| 措勤县| 子洲县| 神农架林区| 新巴尔虎右旗| 左权县| 西城区| 龙里县| 固始县| 锡林浩特市| 鹿泉市| 瓮安县| 建宁县| 塘沽区| 威远县| 太仓市| 仁布县| 大洼县| 九龙县| 霍山县| 同仁县| 清流县| 宜良县| 新河县| 万载县| 楚雄市| 宁城县| 涟源市| 容城县| 怀远县| 陇川县| 平山县| 昌乐县| 汉源县| 武清区| 扎鲁特旗| 丹棱县| 九龙城区| 绍兴市|