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

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

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

3天內不再提示

如何使用SystemView跟蹤分析μC/OS-III?

麥克泰技術 ? 來源:麥克泰技術 ? 作者:麥克泰技術 ? 2022-11-04 11:13 ? 次閱讀

RTOS應用的設計過程中,由于任務調度切換是由RTOS任務調度器來管理的,RTOS應用的源代碼并不能完全反映多任務系統運行時的實時行為,多任務系統的實時行為還取決于任務、中斷、輸入和他們的相互作用。因此RTOS應用的實時行為對于開發者而言并不是非常直觀的,此時就可以用到SystemView這樣的RTOS可視化分析工具來幫助分析應用的實際執行過程。

SystemView是SEGGER公司開發的嵌入式系統可視化分析工具,提供了對應用程序的完整洞察,包括時間軸、CPU負載、運行時間信息、上下文運行時信息等可視化窗口,能夠幫助開發者獲得對應用運行時行為的深入理解。SystemView支持μC/OS-II、μC/OS-III、FreeRTOS、embOS和無OS的裸機系統。

本文將基于STM32F767ZI_Nucleo開發板的μC/OS-IIII官方移植例程來介紹如何使用Segger SystemView,包含設備端SystemView相關應用代碼的添加和PC端SystemView軟件的設置,使用到的μC/OS-III版本是V3.07.03版本。STM32F767ZI_Nucleo開發板板載的ST-Link可以使用Seggger提供的STLinkReflash軟件將固件更新為J-Link,SystemView支持3種工作模式,持續記錄模式下SystemView可以在目標程序運行時實時地記錄目標執行情況,本文將使用板載的J-Link調試器和SEGGER實時傳輸技術(RTT)來演示如何使用SystemView跟蹤μC/OS-III。

01目標設備端添加SystemView和RTT的實現代碼

(1)要使用SEGGER SystemView,首先要把SystemView和RTT源碼文件加到目標應用工程,SystemView和RTT的源碼包在PC端SystemView軟件的安裝目錄下有提供。

3a76f9a8-5bee-11ed-a3b6-dac502259ad0.png

源碼部分包含3個部分:

1)SystemView和RTT實時傳輸技術的配置文件:可能需要根據應用需求進行一定的修改。

2)SystemView和RTT技術的具體實現源碼:通常不需要修改這里的文件。

3)用于多種類型OS及不同版本OS所對應的接口文件:根據應用實際情況選擇對應接口文件,本文中我們選擇添加uC/OS-III目錄下對應的文件。

將前面提到的配置文件、RTT實現源碼及OS接口文件加入到工程中后,工程中包含的文件如下,注意還需要在IDE中設置新添加的這些C文件和匯編代碼文件的包含路徑。

3a9394aa-5bee-11ed-a3b6-dac502259ad0.png

(2)進行一些和SystemView相關的配置

?在os_cfg.h文件中將uC/OS-III的跟蹤功能設置為1開啟。

#define OS_CFG_TRACE_EN 1u

?在應用代碼main.c文件中添加頭文件包含

#include "os_trace.h"

?在os_cfg_trace.h中配置任務和其他內核對象的最大數量

3aa91294-5bee-11ed-a3b6-dac502259ad0.png

在SEGGER_SYSVIEW_Config_uCOSIII.c文件中配置系統的時鐘頻率,時間戳計數器頻率以及芯片RAM內存的基地址,如果工程使用HAL庫,可以使用HAL庫中提供的函數返回這些參數值。

3ac3832c-5bee-11ed-a3b6-dac502259ad0.png

?在SEGGER_SYSVIEW_Conf.h中設置事件緩存的大小

#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024

這里的緩存空間大小需要根據你所使用的J-Link的調試接口速率,以及所記錄的事件數量來決定,當J-Link速率低,或者記錄的事件較多時需要設置更大的緩存空間。使用SystemView Single-Shot模式時應加大內存以盡可能的記錄更長時間。

(3)在任務創建前調用SystemView的初始化函數

在完成芯片的硬件初始化后,uC/OS任務創建前調用OS_TRACE_INIT()函數來初始化SystemView。

3aecf8ce-5bee-11ed-a3b6-dac502259ad0.png

02PC端SystemView軟件的安裝和設置

PC端SystemView軟件可以在Segger官網進行下載。

(1) 要利用J-link實現SystemView持續記錄,需要在SystemView軟件里的Target->Recorder Configuration選項中設置目標設置芯片型號、目標調試接口類型(JTAG/SWD)和接口速度。

RTT控制塊的地址檢測選擇Auto,通常情況下由J-Link自動搜索即可檢測成功。

3b02b682-5bee-11ed-a3b6-dac502259ad0.png

3b1b8496-5bee-11ed-a3b6-dac502259ad0.png

(2)Recorder Configuration設置完成后,點擊Target->Start Recording選項即可開始跟蹤記錄,在演示中使用到了J-Link,默認使用的跟蹤模式是持續記錄模式,此時跟蹤的開啟和停止將由PC端的SystemView軟件來控制。

進入跟蹤后可以得到如圖6所示的可視化跟蹤視圖,每一欄代表應用中的中斷或者Task,按優先級從高到低排列,圖6直觀的展現了RTOS應用中發生任務搶占的情形,低優先級的DemoTask任務執行過程中被高優先級的TestTask任務搶占。

3b2ce4b6-5bee-11ed-a3b6-dac502259ad0.png

借助SystemView這樣的可視化分析工具,可以幫助開發者更好的了解RTOS應用的實時行為,進而創造更高質量的代碼。本文演示中使用的STM32F767ZI_Nucleo開發板的uC/OS-III官方移植例程可以在如下鏈接中進行下載。

審核編輯:湯梓紅

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

    關注

    5

    文章

    53

    瀏覽量

    24829
  • RTOS
    +關注

    關注

    24

    文章

    838

    瀏覽量

    120710
  • 源代碼
    +關注

    關注

    96

    文章

    2950

    瀏覽量

    67809

原文標題:如何使用SystemView跟蹤分析μC/OS-III?

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

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    分析一下uC/OS-III和FreeRTOS的區別

    在閱讀完uC/OS-III(V3.03.01)和FreeRTOS(V10.0.1)的源碼后,我對RTOS有了較深的認識。現將它們之間的一些區別總結出來,有利于大家理解這兩個RTOS。1
    發表于 12-17 10:31

    技術小課堂| μC/OS-III的應用中CSTACK重用

    ??當使用μC/OS-III開發應用時,C啟動堆棧可能會丟失,導致嵌入式應用中可用的RAM量減少。本篇展示了如何恢復這段RAM空間,作為任務堆棧使用。在Cortex-M架構的處理器上,向量表中包含
    發表于 05-17 16:25

    請問有μC/OS-III V3.04.05版本的程序嗎?

    我最近在研究μC-OS-III,Micrium公司從3.05版本號,進行了很多改變,包括將定時器輪、時鐘節拍輪和延時中斷發布等功能去除了,也就是說μC/OS-III V3.04.05是一個比較經典的程序版本,哪位朋友有μ
    發表于 03-27 04:35

    uC/OS-III和FreeRTOS的區別是什么?

    在閱讀完uC/OS-III(V3.03.01)和FreeRTOS(V10.0.1)的源碼后,我對RTOS有了較深的認識。現將它們之間的一些區別總結出來,有利于大家理解這兩個RTOS。1
    發表于 06-09 15:09

    μC/OS-III學習筆記分享

    μC/OS-III 學習筆記
    發表于 12-21 07:46

    μC/OS-III系統內部的5個系統內部任務詳解

    μC/OS-III系統內部的5個系統內部任務
    發表于 12-25 06:47

    μC/OS-III學習筆記分享

    μC/OS-III學習筆記
    發表于 12-31 06:19

    μC/OS-III中斷管理和時間管理介紹

    μC/OS-III中斷管理和時間管理
    發表于 01-11 06:35

    μC/OS-III學習筆記分享

    μC/OS-III 學習筆記
    發表于 01-26 07:22

    uC/OS-III學習筆記

    uC/OS-III 學習筆記(一)uC/OS-III移植前言  最近畢設要做一個嵌入式設備,需要用到操作系統。本人只會制板和寫ARM裸機程序,OS方面是一個小白,只對uC/OS和Lin
    發表于 08-06 06:33

    STM32F103C8T6移植uC/OS-III過程

    STM32F103C8T6移植uC/OS-III基于HAL庫詳細過程一、獲取uC/OS-III源碼1. 到官網下載2. 某度網盤直接下載二、建立stm32 hal庫工程三、復制uC/OS-II
    發表于 12-07 09:29

    uC/OS-III介紹

    uC/OS-III(Micro C OS Three 微型的C 語言編寫的操作系統第3版)是一個可升級的,可固化的,基于優先級的實時內核。它對任務的個數無限制。uC/
    發表于 07-13 17:31 ?0次下載

    uC/OS-III的特點

    uC/OS-III簡介 uC/OS-III(Micro C OS Three 微型的C 語言編寫的操作系統第3版)是一個可升級的,可固化的,
    發表于 10-13 14:07 ?2373次閱讀

    邵貝貝:嵌入式操作系統μC/OS-III

    邵老師長期從事單片機和嵌入式系統教學和應用工作,并負責清華大學飛思卡爾實驗室工作。邵老師與大家分享了C/OS的發展經歷,即將發布的C/OS-III的細節,以及他對未來嵌入式操作系統的認
    發表于 12-03 15:52 ?754次閱讀

    如何將項目從VDK遷移到μC/OS-III

    本培訓模塊將一步一步地說明如何將一個項目從VDK (VisualDSP++ Kernel)遷移到μC/OS-III?
    的頭像 發表于 07-12 06:10 ?2350次閱讀
    主站蜘蛛池模板: 乌克兰14一18处交见血 | 欧美亚洲精品一区二三区8V | 影音先锋影院中文无码 | 国产亚洲精品久久久999密臂 | 国产成人精品免费视频大全可播放的 | 57PAO强力打造高清免费 | 性色少妇AV蜜臀人妻无码 | 精品久久免费观看 | 亚洲精品天堂无码中文字幕影院 | av在线色| 好男人免费观看在线高清WWW | 丰满的美女射精动态图 | 和搜子的日子 在线观看 | WWW国产无套内射久久 | 国产亚洲视频精彩在线播放 | 麻豆精品无码久久久久久久久 | 亚洲国产欧美在线看片 | 91综合久久久久婷婷 | 忘忧草在线影院www日本 | 国产精品无码中文在线AV | 1300部真实小Y女视频合集 | 色婷婷激婷婷深爱五月小蛇 | 亚洲一区二区影院 | 最好看中文字幕国语 | 男生J桶进女人P又色又爽又黄 | 阿离被扒开双腿疯狂输出 | 国产成人免费在线观看 | 日本熟妇乱妇熟色在线电影 | 99久久免热在线观看6 | 国产伊人自拍 | 两个人在线观看的视频720 | 99久久伊人一区二区yy5o99 | 曰本真人00XX动太图 | 亚洲成在人线视频 | 一本道高清不卡v免费费 | 99久久久久精品国产免费麻豆 | 成人中文字幕在线观看 | 国产SUV精品一区二区69 | 国产精品单位女同事在线 | 国产精品青青青高清在线密亚 | 成熟YIN荡美妞A片视频麻豆 |

    電子發燒友

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

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