日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RTX5 | 配置文件RTX_Config.h(二)

發(fā)布時(shí)間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RTX5 | 配置文件RTX_Config.h(二) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、前言
  • 二、Thread Configuration
    • 2.1、Object specific Memory allocation(對(duì)象特定的內(nèi)存分配)
      • 2.1.1、Number of user Threads(用戶線程的數(shù)量)
      • 2.1.2、Number of user Threads with default Stack size(使用默認(rèn)堆棧大小的用戶線程的數(shù)量)
      • 2.1.3、Total Stack size[bytes] for user Threads with user-provided Stack size(提供給用戶線程的總堆棧大小)
    • 2.2、Default Thread Stack size(線程的默認(rèn)堆棧大小)
    • 2.3、Idle Thread Stack size(空閑線程的堆棧大小)
    • 2.4、Idle Thread TrustZone Module Identifier(空閑線程信任區(qū)域模塊標(biāo)識(shí)符)
    • 2.5、Stack overrun checking (堆棧溢出檢查)
    • 2.6、Stack usage watermark(堆棧使用水印)
    • 2.7、Processor mode for Thread execution(線程執(zhí)行的處理器模式)

一、前言


上一次學(xué)習(xí)System Configuration之后,接著繼續(xù)學(xué)習(xí)RTX_Config.h剩下的內(nèi)容。

RTX5 | 配置文件RTX_Config.h(一)

二、Thread Configuration



2.1、Object specific Memory allocation(對(duì)象特定的內(nèi)存分配)


Object specific Memory allocation為每一個(gè)RTX5的對(duì)象創(chuàng)建一個(gè)專用的固定大小的內(nèi)存塊,可以有效防止內(nèi)存碎片化,并簡(jiǎn)化內(nèi)存不足情況的處理。并且,在專用的內(nèi)存里創(chuàng)建對(duì)象與刪除對(duì)象的時(shí)間都是完全確定的。

默認(rèn)的配置下,不勾選Object Specific Memory allocation。此時(shí),當(dāng)我們創(chuàng)建RTX5的對(duì)象時(shí),會(huì)在全局內(nèi)存池里申請(qǐng)一段內(nèi)存。有線程對(duì)象,有消息隊(duì)列對(duì)象,有信號(hào)量對(duì)象等等,按申請(qǐng)內(nèi)存的時(shí)間順序一個(gè)個(gè)放入Global Memory Pool(全局內(nèi)存池)里。這種情況下,內(nèi)存肯定會(huì)有一點(diǎn)亂。

2.1.1、Number of user Threads(用戶線程的數(shù)量)

定義同一時(shí)間上最多可以運(yùn)行多少個(gè)用戶線程。實(shí)際測(cè)試一下,當(dāng)前我的程序創(chuàng)建了4個(gè)線程。接著,我將Number of user Thread設(shè)置3,看看效果如何。


2.1.2、Number of user Threads with default Stack size(使用默認(rèn)堆棧大小的用戶線程的數(shù)量)

系統(tǒng)的默認(rèn)是3072Byte。不建議使用默認(rèn)的堆棧大小,每一個(gè)線程都應(yīng)該有合適的內(nèi)存大小。

2.1.3、Total Stack size[bytes] for user Threads with user-provided Stack size(提供給用戶線程的總堆棧大小)

使用默認(rèn)值0,應(yīng)該是不設(shè)置的意思。(畢竟,我一直使用默認(rèn)值0也能順利創(chuàng)建多個(gè)線程)

2.2、Default Thread Stack size(線程的默認(rèn)堆棧大小)

創(chuàng)建線程時(shí)不指定堆棧大小,就會(huì)使用Default Thread Stack Size的值來創(chuàng)建線程。

2.3、Idle Thread Stack size(空閑線程的堆棧大小)

看空閑線程的設(shè)計(jì)需要多大的內(nèi)存,默認(rèn)的空閑線程只需256KB。

2.4、Idle Thread TrustZone Module Identifier(空閑線程信任區(qū)域模塊標(biāo)識(shí)符)

Armv8-M/v8.1-M架構(gòu)的單片機(jī)才有。

2.5、Stack overrun checking (堆棧溢出檢查)

一定要勾選,堆棧真的很容易溢出。

2.6、Stack usage watermark(堆棧使用水印)

使用水印模式初始化線程堆棧以分析堆棧使用情況。 啟用此選項(xiàng)會(huì)顯著增加線程創(chuàng)建的執(zhí)行時(shí)間。我覺得沒必要勾選這一項(xiàng),在DEBUG模式下,使用Keil的RTX RTOS也能看到堆棧的使用情況。

2.7、Processor mode for Thread execution(線程執(zhí)行的處理器模式)

必須使用privileged mode,不然功能可能會(huì)受到限制:

總結(jié)

以上是生活随笔為你收集整理的RTX5 | 配置文件RTX_Config.h(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。