国产亚洲精品AA片在线观看,丰满熟妇HD,亚洲成色www成人网站妖精,丁香五月天婷婷五月天男人天堂

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 技術(shù)洞察 | 如何在英飛凌 AURIX? TC3xx 系列單片機上移植 FreeRTOS 實時操作系統(tǒng)

技術(shù)洞察 | 如何在英飛凌 AURIX? TC3xx 系列單片機上移植 FreeRTOS 實時操作系統(tǒng)

作者: 時間:2025-04-22 來源:英飛凌 收藏

本文作者

本文引用地址:http://www.ljygm.com/article/202504/469650.htm

Di Wang

科技大中華區(qū) CAE 客戶支持工程師

最近在 新聞 中,大家了解到為其 ? TC3x 微控制器(MCU)添加了對FreeRTOS的支持。借助實時操作系統(tǒng)(FreeRTOS),功能強大的微控制器 ? MCU 能夠高效管理硬件和軟件資源,確保任務(wù)的及時和可靠執(zhí)行。FreeRTOS作為硬件和應(yīng)用軟件之間的中介,使開發(fā)者能夠?qū)W⒂趹?yīng)用代碼,無需處理硬件的復(fù)雜性,從而實現(xiàn)應(yīng)用代碼的可移植性和可重用性,并縮短上市時間。

本文介紹了在 ?  單片機上移植 FreeRTOS 實時操作系統(tǒng)的操作步驟,讀者可以使用 Triboard 開發(fā)板和免費的 ADS 開發(fā)平臺,快速移植 FreeRTOS 到自己使用的 MCU上,創(chuàng)建任務(wù)并實現(xiàn) LED 的閃燈演示。

1、前言

FreeRTOS是一款廣泛使用的開源實時操作系統(tǒng)(RTOS),具有輕量級、模塊化和易用的特點,適用于資源受限的嵌入式系統(tǒng)開發(fā)。 它支持多任務(wù)調(diào)度、任務(wù)間通信和同步,并提供豐富的中間件支持,便于開發(fā)者快速構(gòu)建高效、可靠的應(yīng)用程序。

的AURIX? TC3x MCU采用符合ASIL-D/SIL-3標(biāo)準(zhǔn)的設(shè)計,滿足汽車和工業(yè)市場的嚴(yán)格要求。它基于高性能的TriCore?架構(gòu),具備實時能力、先進(jìn)的功能安全特性和功能可靠性, 是安全關(guān)鍵應(yīng)用的理想選擇 。FreeRTOS的可用性使客戶能夠在成熟且功能豐富的開源環(huán)境中快速構(gòu)建應(yīng)用程序。將FreeRTOS集成到AURIX? TC3x MCU中,不僅能夠助力汽車和工業(yè)市場的廣大客戶快速進(jìn)行功能評估,而且為在非AUTOSAR項目中快速遷移應(yīng)用代碼提供了可能。

2、參考鏈接

參考鏈接一

參考鏈接二

參考鏈接三

3、準(zhǔn)備 ADS 開發(fā)環(huán)境

ADS (AURIX? Development Studio)是英飛凌推出的一個免費的集成開發(fā)環(huán)境,內(nèi)嵌 Tasking 編譯器的免費版本,并集成大量AURIX? TC3xx 微控制器的例子工程。用戶可以快速上手,通過導(dǎo)入不同模塊的例子工程,編譯并下載到開發(fā)板中,進(jìn)行功能評估和開發(fā)。( 下載鏈接 )

如圖所示:

4

準(zhǔn)備 Triboard 開發(fā)板

ADS 開發(fā)環(huán)境支持各種 AURIX? TC3xx MCU的開發(fā)板,比如Lite Kit、ShieldBuddy、TFT Kit或Triboard。本文基于 TC399 Triboard ,其板載有8個 LED 供測試使用,本文代碼使用 P33.4和 P33.5引腳來控制最左側(cè)的LED1和LED2,實現(xiàn)閃爍演示。在下載程序之前,請使用電源線給 Triboard供電,并使用mini USB線連接開發(fā)板到PC機,在 PC 機上開啟 ADS 集成開發(fā)環(huán)境。

如圖所示:

5

打開一個例子工程

安裝完成之后,用戶可打開 ADS平臺,在 File 菜單中選擇 Import 導(dǎo)入,之后在例子工程的代碼庫中找到名為 STM_Interrupt_1 的例子工程,點擊 Finish 完成,即可導(dǎo)入第一個例子工程。 (注:TC397的工程可以使用在TC399的開發(fā)板上)。

如圖所示:

打開工程后,可以在工程上點擊右鍵,選擇 Set Active Project,之后點擊 Build Project 進(jìn)行編譯。編譯之后,點擊 Debug菜單進(jìn)行下載調(diào)試。如果在Debug Configurations中沒有合適的配置,請首先創(chuàng)建一個配置(使用默認(rèn)配置在TASKING C/C++ Debugger中創(chuàng)建即可)。這里注意,編譯前需修改 STM_Interrupt.c 文件中的 LED 引腳為 P33.4,以適配 TC399 Triboard 的 LED1 引腳。下載后,點擊Resume運行,可以看到開發(fā)板上最左側(cè)的LED燈會閃爍。這個工程是我們進(jìn)行 FreeRTOS 移植的基礎(chǔ)。

6

移植過程

在準(zhǔn)備好了ADS開發(fā)環(huán)境、Triboard開發(fā)板,并下載成功 STM_Interrupt_1 例子工程后,即可開始我們的移植過程。

第一步:下載 FreeRTOS 版本 10.5.1 并解壓縮

用戶可以從 FreeRTOS 的官方網(wǎng)站獲取源碼,將解壓后的 FreeRTOS 文件夾復(fù)制到 STM_INTERRUPT_1 例子工程的 OS/FreeRTOS/ 路徑下。( 下載鏈接 )

第二步:整理 Portable 文件夾

打開 FreeRTOS/Portable/ 目錄,刪除所有文件夾,僅保留 MemMang 和 Tasking 文件夾。

第三步:port.c 和 portmacro.h

在 Tasking 文件夾中移除 ARM_CM4F 文件夾,創(chuàng)建一個名為 TC3 的新文件夾,該文件夾將包含兩個文件:port.c 和 portmacro.h。( 下載鏈接 )

第四步:FreeRTOSConfig.h

將 FreeRTOSConfig.h 文件復(fù)制到 STM_INTERRUPT_1 例子工程的 Configurations/ 路徑下。( 下載鏈接 )

第五步:修改 Ifx_Cfg.h

參考后面鏈接中的 Ifx_Cfg.h 文件,修改例子工程中的 Configurations/Ifx_Cfg.h 文件。( 下載鏈接 )

第六步:排除不必要的文件

打開 OS/FreeRTOS/portable/MemMang/ 目錄,右鍵點擊 heap_2.c 到 heap_5.c,選擇 Resource Configuration,然后選擇 Exclude from Build。這確保在構(gòu)建過程中僅使用 heap_1.c

第七步:修改 Cpu0_Main.c 、 STM_Interrupt.c 和 STM_Interrupt.h

讀者可以下載3個源文件并覆蓋例子工程中的相應(yīng)文件。( 下載鏈接 )

講解:

  • 在 Cpu0_Main.c 中,主要創(chuàng)建了2個任務(wù) task_app_led1 和 task_app_led2,并啟動操作系統(tǒng)的調(diào)度器,代碼如下:

  • 在 STM_Interrupt.c 中,對LED1和LED2引腳進(jìn)行初始化,設(shè)置為輸出模式,并給出了2個任務(wù)的具體實現(xiàn),主要是定時翻轉(zhuǎn) LED1 和 LED2的引腳,代碼如下:

  • 在 STM_Interrupt.h中,對兩個任務(wù)函數(shù)的原型給出了聲明。


第八步:重新編譯工程并下載

右鍵點擊工程,選擇「Clean Project」清除編譯文件,之后重新「Build Project」,并在 Debug 菜單中點擊 Debug,之后生成的程序會下載到 TC399 Triboard 開發(fā)板中并進(jìn)入調(diào)試界面,在調(diào)試界面點擊 「Resume」運行,觀察開發(fā)板上的 LED1(P33.4)和 LED2(P33.5),它們將分別以 500ms 和 1000ms 的周期閃爍。



關(guān)鍵詞: 英飛凌 AURIX TC3xx

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉