女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

麥克泰技術(shù) ? 來(lái)源:麥克泰技術(shù) ? 作者:麥克泰技術(shù) ? 2022-11-04 11:13 ? 次閱讀

RTOS應(yīng)用的設(shè)計(jì)過(guò)程中,由于任務(wù)調(diào)度切換是由RTOS任務(wù)調(diào)度器來(lái)管理的,RTOS應(yīng)用的源代碼并不能完全反映多任務(wù)系統(tǒng)運(yùn)行時(shí)的實(shí)時(shí)行為,多任務(wù)系統(tǒng)的實(shí)時(shí)行為還取決于任務(wù)、中斷、輸入和他們的相互作用。因此RTOS應(yīng)用的實(shí)時(shí)行為對(duì)于開發(fā)者而言并不是非常直觀的,此時(shí)就可以用到SystemView這樣的RTOS可視化分析工具來(lái)幫助分析應(yīng)用的實(shí)際執(zhí)行過(guò)程。

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

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

01目標(biāo)設(shè)備端添加SystemView和RTT的實(shí)現(xiàn)代碼

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

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

源碼部分包含3個(gè)部分:

1)SystemView和RTT實(shí)時(shí)傳輸技術(shù)的配置文件:可能需要根據(jù)應(yīng)用需求進(jìn)行一定的修改。

2)SystemView和RTT技術(shù)的具體實(shí)現(xiàn)源碼:通常不需要修改這里的文件。

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

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

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

(2)進(jìn)行一些和SystemView相關(guān)的配置

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

#define OS_CFG_TRACE_EN 1u

?在應(yīng)用代碼main.c文件中添加頭文件包含

#include "os_trace.h"

?在os_cfg_trace.h中配置任務(wù)和其他內(nèi)核對(duì)象的最大數(shù)量

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

在SEGGER_SYSVIEW_Config_uCOSIII.c文件中配置系統(tǒng)的時(shí)鐘頻率,時(shí)間戳計(jì)數(shù)器頻率以及芯片RAM內(nèi)存的基地址,如果工程使用HAL庫(kù),可以使用HAL庫(kù)中提供的函數(shù)返回這些參數(shù)值。

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

?在SEGGER_SYSVIEW_Conf.h中設(shè)置事件緩存的大小

#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024

這里的緩存空間大小需要根據(jù)你所使用的J-Link的調(diào)試接口速率,以及所記錄的事件數(shù)量來(lái)決定,當(dāng)J-Link速率低,或者記錄的事件較多時(shí)需要設(shè)置更大的緩存空間。使用SystemView Single-Shot模式時(shí)應(yīng)加大內(nèi)存以盡可能的記錄更長(zhǎng)時(shí)間。

(3)在任務(wù)創(chuàng)建前調(diào)用SystemView的初始化函數(shù)

在完成芯片的硬件初始化后,uC/OS任務(wù)創(chuàng)建前調(diào)用OS_TRACE_INIT()函數(shù)來(lái)初始化SystemView。

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

02PC端SystemView軟件的安裝和設(shè)置

PC端SystemView軟件可以在Segger官網(wǎng)進(jìn)行下載。

(1) 要利用J-link實(shí)現(xiàn)SystemView持續(xù)記錄,需要在SystemView軟件里的Target->Recorder Configuration選項(xiàng)中設(shè)置目標(biāo)設(shè)置芯片型號(hào)、目標(biāo)調(diào)試接口類型(JTAG/SWD)和接口速度。

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

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

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

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

進(jìn)入跟蹤后可以得到如圖6所示的可視化跟蹤視圖,每一欄代表應(yīng)用中的中斷或者Task,按優(yōu)先級(jí)從高到低排列,圖6直觀的展現(xiàn)了RTOS應(yīng)用中發(fā)生任務(wù)搶占的情形,低優(yōu)先級(jí)的DemoTask任務(wù)執(zhí)行過(guò)程中被高優(yōu)先級(jí)的TestTask任務(wù)搶占。

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

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

審核編輯:湯梓紅

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

    關(guān)注

    5

    文章

    53

    瀏覽量

    24829
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    839

    瀏覽量

    120715
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2950

    瀏覽量

    67812

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

文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    分析一下uC/OS-III和FreeRTOS的區(qū)別

    在閱讀完uC/OS-III(V3.03.01)和FreeRTOS(V10.0.1)的源碼后,我對(duì)RTOS有了較深的認(rèn)識(shí)。現(xiàn)將它們之間的一些區(qū)別總結(jié)出來(lái),有利于大家理解這兩個(gè)RTOS。1
    發(fā)表于 12-17 10:31

    技術(shù)小課堂| μC/OS-III的應(yīng)用中CSTACK重用

    ??當(dāng)使用μC/OS-III開發(fā)應(yīng)用時(shí),C啟動(dòng)堆棧可能會(huì)丟失,導(dǎo)致嵌入式應(yīng)用中可用的RAM量減少。本篇展示了如何恢復(fù)這段RAM空間,作為任務(wù)堆棧使用。在Cortex-M架構(gòu)的處理器上,向量表中包含
    發(fā)表于 05-17 16:25

    請(qǐng)問(wèn)有μC/OS-III V3.04.05版本的程序嗎?

    我最近在研究μC-OS-III,Micrium公司從3.05版本號(hào),進(jìn)行了很多改變,包括將定時(shí)器輪、時(shí)鐘節(jié)拍輪和延時(shí)中斷發(fā)布等功能去除了,也就是說(shuō)μC/OS-III V3.04.05是一個(gè)比較經(jīng)典的程序版本,哪位朋友有μ
    發(fā)表于 03-27 04:35

    uC/OS-III和FreeRTOS的區(qū)別是什么?

    在閱讀完uC/OS-III(V3.03.01)和FreeRTOS(V10.0.1)的源碼后,我對(duì)RTOS有了較深的認(rèn)識(shí)。現(xiàn)將它們之間的一些區(qū)別總結(jié)出來(lái),有利于大家理解這兩個(gè)RTOS。1
    發(fā)表于 06-09 15:09

    μC/OS-III學(xué)習(xí)筆記分享

    μC/OS-III 學(xué)習(xí)筆記
    發(fā)表于 12-21 07:46

    μC/OS-III系統(tǒng)內(nèi)部的5個(gè)系統(tǒng)內(nèi)部任務(wù)詳解

    μC/OS-III系統(tǒng)內(nèi)部的5個(gè)系統(tǒng)內(nèi)部任務(wù)
    發(fā)表于 12-25 06:47

    μC/OS-III學(xué)習(xí)筆記分享

    μC/OS-III學(xué)習(xí)筆記
    發(fā)表于 12-31 06:19

    μC/OS-III中斷管理和時(shí)間管理介紹

    μC/OS-III中斷管理和時(shí)間管理
    發(fā)表于 01-11 06:35

    μC/OS-III學(xué)習(xí)筆記分享

    μC/OS-III 學(xué)習(xí)筆記
    發(fā)表于 01-26 07:22

    uC/OS-III學(xué)習(xí)筆記

    uC/OS-III 學(xué)習(xí)筆記(一)uC/OS-III移植前言  最近畢設(shè)要做一個(gè)嵌入式設(shè)備,需要用到操作系統(tǒng)。本人只會(huì)制板和寫ARM裸機(jī)程序,OS方面是一個(gè)小白,只對(duì)uC/OS和Lin
    發(fā)表于 08-06 06:33

    STM32F103C8T6移植uC/OS-III過(guò)程

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

    uC/OS-III介紹

    uC/OS-III(Micro C OS Three 微型的C 語(yǔ)言編寫的操作系統(tǒng)第3版)是一個(gè)可升級(jí)的,可固化的,基于優(yōu)先級(jí)的實(shí)時(shí)內(nèi)核。它對(duì)任務(wù)的個(gè)數(shù)無(wú)限制。uC/
    發(fā)表于 07-13 17:31 ?0次下載

    uC/OS-III的特點(diǎn)

    uC/OS-III簡(jiǎn)介 uC/OS-III(Micro C OS Three 微型的C 語(yǔ)言編寫的操作系統(tǒng)第3版)是一個(gè)可升級(jí)的,可固化的,
    發(fā)表于 10-13 14:07 ?2376次閱讀

    邵貝貝:嵌入式操作系統(tǒng)μC/OS-III

    邵老師長(zhǎng)期從事單片機(jī)和嵌入式系統(tǒng)教學(xué)和應(yīng)用工作,并負(fù)責(zé)清華大學(xué)飛思卡爾實(shí)驗(yàn)室工作。邵老師與大家分享了C/OS的發(fā)展經(jīng)歷,即將發(fā)布的C/OS-III的細(xì)節(jié),以及他對(duì)未來(lái)嵌入式操作系統(tǒng)的認(rèn)
    發(fā)表于 12-03 15:52 ?755次閱讀

    如何將項(xiàng)目從VDK遷移到μC/OS-III

    本培訓(xùn)模塊將一步一步地說(shuō)明如何將一個(gè)項(xiàng)目從VDK (VisualDSP++ Kernel)遷移到μC/OS-III?
    的頭像 發(fā)表于 07-12 06:10 ?2352次閱讀