色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

如何使用SystemView的堆監控功能

麥克泰技術 ? 來源:麥克泰技術 ? 2024-08-09 18:07 ? 次閱讀

SystemView能夠監視應用程序如何使用動態存儲。這意味著,如果應用程序中使用了C或C++堆、自定義堆或RTOS提供的內存池對象,我們可以跟蹤這些對象的使用情況。SystemView可以在一個應用中監視所有堆,分析它們的使用情況,并展示收集到的信息,使用戶能夠查看堆的負載情況,發現潛在的內存泄漏,跟蹤內存使用峰值等等。

本文檔將展示如何以最少干擾的方式調整現有代碼來使用SystemView的heap功能。

初始化SystemView

調用SEGGER_SYSVIEW_Init()函數執行初始化工作。在示例中,它由SEGGER_SYSVIEW_Conf()函數調用,該函數位于HW初始化OS_InitHW()函數中。

SystemView Heap API

為了向SystemView提供heap使用數據,需使用以下API:

1、SEGGER_SYSVIEW_HeapDefine

描述heap內部組織結構。在嵌入式系統中,heap有多種不同的組織方式,因此需使用此函數來提供使用的heap內存的具體信息。可能需要查看鏈接器腳本文件并使用它定義的一些符號 (例如示例項目中的__heap_start__和__heap_size__)。這個函數必須在使用SystemView堆API之前調用。

2、SEGGER_SYSVIEW_HeapAlloc

該函數應該在每次分配完成時調用。請記住,提供的內部分配塊通常大于用戶請求的塊。

3、SEGGER_SYSVIEW_HeapFree

該函數應該在每次釋放內存時調用。

因此,這些API必須伴隨著對應的堆管理函數調用,如C標準庫的heap函數malloc、realloc和free的情況,如何在現有項目中最有效地做到這一點,而不是根據這些信息從頭開始創建項目?

heap函數的鏈接器封裝

已有項目可能已經在代碼的引用了C標準庫函數。如果使用傳統的編程方法,調用對應的SystemView API,用戶需為這些調用引入封裝來大幅更改現有代碼,并用它替換代碼中對stdlib heap函數的引用。幸運的是,SEGGER鏈接器為鏈接器符號提供了通用的封裝功能。通過命令--wrap,鏈接器將把現有定義重命名為__real_,并將對函數的調用解析為__wrap_。然后,用戶可以定義__wrap_malloc、__wrap_realloc和__wrap_free函數,這些函數將調用__real_malloc、__real_realloc和__real_free,并伴隨著對SEGGER_SYSVIEW_HeapAlloc和SEGGER_SYSVIEW_HeapFree的相應調用。

通過在Embedded Studio工程配置中Project Options/Linker/Additional Linker Options對話框中添加以下幾行,輕松調用鏈接器封裝功能:

wKgaoma16nCARq71AACySAE7Qes389.png

示例項目代碼基于embOS實時操作系統,創建了三個任務,任務實現中使用標準的C heap功能,執行一些隨機分配和相應的釋放。由于鏈接器封裝功能,這些調用也將產生對SystemView heap API的調用,向SystemView應用程序發送必要的信息。

wKgZoma16ouABqZQAAf-BRi_xMQ612.png

SystemView是面向嵌入式系統實時記錄、可視化和分析工具,可以監控應用程序如何使用動態存儲,直觀地呈現內存已分配但未釋放的使用信息。

在許多情況下,可以在應用程序的生命周期內分配內存,而不會出現問題。當heap的峰值負載隨著時間的推移而增加時,應用程序可能會泄漏內存。使用SystemView的堆監視器,可以很容易地看到這些更改和分配的位置,從而提供有關泄漏可能在哪里的線索。動態存儲在嵌入式系統中的應用越來越廣泛,有了SystemView,監控和管理動態存儲已經從不可避免的事情變成了可管理的事情。

麥克泰公司代理SEGGER全線產品,具有豐富的RTOS分析軟件與調試工具使用方面的知識和經驗,歡迎咨詢。

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

    關注

    8

    文章

    3111

    瀏覽量

    75032
  • SystemView
    +關注

    關注

    5

    文章

    53

    瀏覽量

    24848
  • 函數
    +關注

    關注

    3

    文章

    4372

    瀏覽量

    64308
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74832

原文標題:如何使用SystemView的堆監控功能

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    如何在Eclipse ThreadX RTOS中集成SystemView

    SEGGER實時軟件分析工具SystemView已經在ThreadX v6.4.2上進行了測試。SystemView從v3.60c版本支持Eclipse ThreadX(Azure RTOS),用戶
    的頭像 發表于 05-06 17:11 ?647次閱讀

    rtthread 5.20安裝systemview 2.52a出錯的原因?

    在 SEGGER_SYSVIEW_RTThread.c中 Info.sName = thread->name; 提示 packages/SystemView
    發表于 07-12 09:36

    如何在項目中使用RTOS分析工具SystemView

    。因此RTOS應用的實時行為對于開發者而言并不是非常直觀的,此時就可以用到SystemView這樣的RTOS可視化分析工具來幫助分析應用的實際執行過程。SystemView是SEGGER公司開發
    發表于 07-05 14:00

    使用systemview監控的ISR具體對應哪個中斷

    使用systemview監控,mcu是stm32f429,監控中有些中斷:ISR 35, ISR 36, ISR 53等等。具體對應哪個中斷,怎么查?
    發表于 10-14 10:50

    RT-Thread nano版本可以使用systemview么?

    RT-Thread nano版本可以使用systemview么?
    發表于 10-20 10:30

    如何使用RT-Thread上的SystemView分析工具

    本文的目的和結構本文的目的和背景隨著 MCU 的性能越來越強,嵌入式產品的功能越來越復雜,對于系統的調試和分析提出了新挑戰,調試某個功能或問題通常需要花費大量精力,SystemView 是一款幫助
    發表于 10-26 15:38

    SystemView在通信專業教學中的主要應用途徑

    • 多媒體教學• 交互式教案• 仿真實驗室• 科研項目預研和系統驗證一、高校通信專業教學面臨的挑戰二、SystemView基本功能及應用庫三、SystemView
    發表于 08-05 14:44 ?25次下載
    <b class='flag-5'>SystemView</b>在通信專業教學中的主要應用途徑

    SystemView系統仿真軟件在通信專業教學中的應用

    一、高校通信專業教學面臨的挑戰二、SystemView基本功能及應用庫三、SystemView仿真綜合實驗室的優勢四、SystemView完成的實驗科目簡介近十年來,隨著通信技術的發展
    發表于 08-06 11:51 ?33次下載

    SystemView仿真軟件的應用

    SystemView仿真軟件的應用:利用系統設計、分析和仿真的可視化開發環境—SystemView 軟件平臺進行通信原理課程教學, 對SystemView 仿真軟件進行了簡要的介紹.并以2DPSK的調制解調原理為
    發表于 09-29 11:43 ?101次下載

    課程設計中SystemView的應用

    本文研究SystemView 在《通信原理》課程設計中的仿真應用。通過對MSK 的實際仿真分析,顯示了SystemView強大的仿真功能,在教學中起到事半功倍的效果。
    發表于 12-20 17:10 ?106次下載
    課程設計中<b class='flag-5'>SystemView</b>的應用

    基于SystemView的接收信號中載波的提取

    SystemView仿真軟件進行了簡要的介紹,并在此基礎上完成了對通信系統原理的仿真。結果表明,通過用SystemView軟件仿真,方便地得到所設計電路的輸出結果與分析波形。
    發表于 02-06 16:36 ?94次下載
    基于<b class='flag-5'>SystemView</b>的接收信號中載波的提取

    基于SystemView的PCM通信系統仿真

    基于SystemView的PCM通信系統仿真(測試測量儀器銷售經理)-該文檔為基于SystemView的PCM通信系統仿真講解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,,,,,
    發表于 09-30 11:55 ?26次下載
    基于<b class='flag-5'>SystemView</b>的PCM通信系統仿真

    Systemview實現對QPSK系統的仿真與分析

    Systemview實現對QPSK系統的仿真與分析(測試測量計量的區別)-該文檔為用Systemview實現對QPSK系統的仿真與分析講解文檔Systemview 是一種基于 windows 平臺
    發表于 09-30 12:16 ?11次下載
    用<b class='flag-5'>Systemview</b>實現對QPSK系統的仿真與分析

    SEGGER的SystemView增加了監控

    SystemView是SEGGER用于嵌入式系統的實時記錄、可視化和分析工具,現在可以監控應用程序如何使用動態存儲器。
    的頭像 發表于 05-09 11:17 ?1551次閱讀

    SEGGER SystemView支持Eclipse ThreadX

    SEGGER的實時軟件分析工具SystemView v3.60c版本現已支持Eclipse ThreadX(Azure RTOS),用戶可以基于Systemview記錄ThreadX操作系統事件并執行分析。
    的頭像 發表于 04-09 10:43 ?391次閱讀
    SEGGER <b class='flag-5'>SystemView</b>支持Eclipse ThreadX
    主站蜘蛛池模板: 亚洲国产欧美日本大妈 | 中文中幕无码亚洲在线 | 97视频在线免费 | 亚洲中文字幕欧美自拍一区 | 九九热这里有精品 | 国产99青草全福视在线 | 亚洲欧美精品无码一区二在线 | 好看的电影网站亚洲一区 | 在线播放免费人成毛片视频 | 91精品国产品国语在线不卡 | 伊人香蕉在线播放视频免费 | 挠黑色超薄丝袜脚心vk40分钟 | 97在线精品视频 | 成人人猿泰山 | 日韩精品 中文字幕 有码 | 果冻传媒2021在线观看 | 顶级欧美不卡一区二区三区 | 国产精品人成在线播放新网站 | 一个人在线观看免费高清视频 | 亚洲熟女丰满多毛XXXXX | 99精彩视频在线观看 | 国产色综合久久无码有码 | ABO成结顶腔锁住 | 92电影网午夜福利 | 亚洲精品美女久久777777 | 无敌在线视频观看免费 | 99久久精品免费看国产一区二区 | 好色的妹妹 | 国产免费啪嗒啪嗒视频看看 | 两个女人互添下身高潮自视频 | 久久机热免费视频 | 日韩高清在线亚洲专区 | 国产日韩欧美另类 | 青柠在线电影高清免费观看 | 国产成人免费a在线视频app | 一品道门免费视频韩国 | 国产成年人在线观看 | 中文乱码35页在线观看 | 岛国在线永久免费视频 | 曰本aaaaa毛片午夜网站 | 99久久亚洲精品日本无码 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品