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

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

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

如何在裸機系統(tǒng)中集成SystemView

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2023-12-29 11:07 ? 次閱讀

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

本文將解釋如何在裸機系統(tǒng)中集成SystemView。

集成操作步驟如下:

1、在Embedded Studio中為使用的設(shè)備創(chuàng)建一個新項目

2、將SystemView安裝目錄下的/SEGGER、/Config文件夾中的所有文件和Sample/NoOS/Config/Cortex-M/SEGGER_SYSVIEW_Config_NoOS.c代碼文件添加到項目中

1362c834-a5f7-11ee-8b88-92fbcf53809c.png

3、在SystemViewDescription目錄下創(chuàng)建一個名為SYSVIEW_NoOS.txt的文件,將需記錄的函數(shù)添加到該文件中,id編號從33開始:

33    _TestFunc0
34    _TestFunc1

4、在main.c中包含SEGGER_SYSVIEW_Conf.h和SEGGER_SYSVIEW.h文件

#include "SEGGER_SYSVIEW_Conf.h"
#include "SEGGER_SYSVIEW.h"

5、在SEGGER_SYSVIEW_Conf.h修改SEGGER_SYSVIEW_ID_BASE為使用設(shè)備的RAM地址

#define SEGGER_SYSVIEW_ID_BASE     0x20000000

6、在SEGGER_SYSVIEW_Config_NoOS.c中,修改函數(shù) _cbSendSystemDesc()為

static void _cbSendSystemDesc(void) {
  SEGGER_SYSVIEW_SendSysDesc("N="SYSVIEW_APP_NAME",O=NoOS,D="SYSVIEW_DEVICE_NAME);
}

設(shè)置SYSVIEW_RAM_BASE為目標(biāo)設(shè)備的RAM基地址;

// The lowest RAM address used for IDs (pointers)
#define SYSVIEW_RAM_BASE    (0x20000000)

7、在main()函數(shù)中調(diào)用SEGGER_SYSVIEW_Conf ();對無os的應(yīng)用,將整個系統(tǒng)視為idle空閑任務(wù),調(diào)用SEGGER_SYSVIEW_OnIdle()

int main(void) {
  U32 v;
  int Cnt;


  Cnt = 0;
  SEGGER_SYSVIEW_Conf();  /* Configure and initialize SystemView */
  SEGGER_SYSVIEW_Start(); /* Starts SystemView recording*/
  SEGGER_SYSVIEW_OnIdle(); /* Tells SystemView that System is currently in "Idle"*/
  ……

8、可在main應(yīng)用中初始化系統(tǒng)節(jié)拍時鐘,在節(jié)拍處理程序Systick_Handler開始處調(diào)用SEGGER_SYSVIEW_RecordEnterISR ();結(jié)束時調(diào)用SEGGER_SYSVIEW_RecordExitISR()

void SysTick_Handler(void) {
  volatile U32 Cnt;
  SEGGER_SYSVIEW_RecordEnterISR();
  Cnt++;
SEGGER_SYSVIEW_RecordExitISR();
}

9、在應(yīng)用程序調(diào)用需記錄的函數(shù),如_TestFunc0()

10、在Description列表中的每個函數(shù)中,調(diào)用SEGGER_SYSVIEW_RecordVoid(ID)及 SEGGER_SYSVIEW_RecordEndCall(ID),參數(shù)ID為描述文件中的ID編號

static void _TestFunc0(void) {
   SEGGER_SYSVIEW_RecordVoid(33);
   _TestFunc0Cnt = 100;
   while(50 < --_TestFunc0Cnt);
 ? ? _TestFunc1();
 ? ? while(--_TestFunc0Cnt);
 ? SEGGER_SYSVIEW_RecordEndCall(33);
}

11、運行應(yīng)用程序并啟動SystemView記錄。

如果構(gòu)建成功,SystemView記錄應(yīng)該如下圖:

13744f14-a5f7-11ee-8b88-92fbcf53809c.png

基于STM32F407+Embedded Studio的“NoOS”Systemview集成示例工程,下載鏈接:https://wiki.segger.com/images/8/89/SysView_NoOS_GenericCortexM4_Example.zip

僅需修改目標(biāo)設(shè)備名稱,即可將該項目可以用于其他Cortex-M4設(shè)備。

審核編輯:湯梓紅

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

    關(guān)注

    41

    文章

    3551

    瀏覽量

    129104
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10804

    瀏覽量

    210829
  • SystemView
    +關(guān)注

    關(guān)注

    5

    文章

    50

    瀏覽量

    24481
  • 裸機
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    6329

原文標(biāo)題:在裸機系統(tǒng)中使用SystemView

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

收藏 人收藏

    評論

    相關(guān)推薦

    何在Linux/Android系統(tǒng)中集成壓力傳感器和濕度傳感器?

    何在Linux / Android系統(tǒng)中集成ST s壓力傳感器和濕度傳感器? #壓力濕度傳感器以上來自于谷歌翻譯以下為原文 how to integrate ST?s pressure
    發(fā)表于 10-24 11:09

    何在PSoC設(shè)計器5.4版本中集成HiTeX編譯器PRO?

    何在PSoC設(shè)計器5.4版本中集成HiTeX編譯器PRO。操作系統(tǒng)是Win 10。我有HCPoSC-PRO-961PL6安裝文件和一個補丁的PRO版本?,F(xiàn)在我換了個人電腦,它在我的舊電腦上用Win 8.1工作,但幾年后我不記得
    發(fā)表于 10-25 10:54

    SystemView何在RT-Thread上對系統(tǒng)進行調(diào)試分析?

    本文主要介紹 SystemView可視化分析工具,以及如何在 RT-Thread 上使用它對系統(tǒng)進行調(diào)試分析。
    發(fā)表于 03-30 07:39

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

    /OS-II、μC/OS-III、FreeRTOS、embOS和無OS的裸機系統(tǒng)。本文將使用Segger J-Link和NXP LPC54110開發(fā)板來介紹Segger SystemView的移植和使用過
    發(fā)表于 07-05 14:00

    何在MSP430?微控制器 (MCU) 中集成多種功能

    中,我將說明如何在系統(tǒng)中集成多功能通用處理MCU來縮減物料清單(BOM)成本,節(jié)省電路板空間,并最大程度地簡化設(shè)計。例如,假如您要創(chuàng)建一個具有以下功能的新設(shè)計:LED控制I/O擴展帶電可擦可編程存儲器
    發(fā)表于 11-04 07:12

    基于SystemView的GSM系統(tǒng)設(shè)計與仿真

    針對通信實驗室硬件設(shè)備不完善的情況,在研究GSM系統(tǒng)原理的基礎(chǔ)上,采用SystemView通信系統(tǒng)設(shè)計與仿真軟件,對GSM系統(tǒng)的信源、信道、調(diào)制/解調(diào)等模塊進行了設(shè)計與仿真。該設(shè)計避開
    發(fā)表于 07-06 16:48 ?136次下載
    基于<b class='flag-5'>SystemView</b>的GSM<b class='flag-5'>系統(tǒng)</b>設(shè)計與仿真

    SystemView何在通信系統(tǒng)仿真中應(yīng)用研究分析概述

    介紹了通信系統(tǒng)仿真和仿真專用工具SystemView,分析了CNI(Communication、Navigation & Identification System)系統(tǒng)中最小頻移健控(MSK)調(diào)制方式,并用
    發(fā)表于 01-11 15:17 ?5次下載
    <b class='flag-5'>SystemView</b>如<b class='flag-5'>何在</b>通信<b class='flag-5'>系統(tǒng)</b>仿真中應(yīng)用研究分析概述

    在通用微控制器MSP430?中集成多種功能

    本文中,我將說明如何在系統(tǒng)中集成多功能通用處理MCU來縮減物料清單(BOM)成本,節(jié)省電路板空間,并最大程度地簡化設(shè)計。
    發(fā)表于 03-06 06:10 ?19次下載
    在通用微控制器MSP430?<b class='flag-5'>中集成</b>多種功能

    基于SystemView的PCM通信系統(tǒng)仿真

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

    基于SystemView的擴頻通信系統(tǒng)仿真研究

    基于SystemView的擴頻通信系統(tǒng)仿真研究(測試測量系統(tǒng))-該文檔為基于SystemView的擴頻通信系統(tǒng)仿真研究講解文檔,是一份不錯的
    發(fā)表于 09-30 12:03 ?10次下載
    基于<b class='flag-5'>SystemView</b>的擴頻通信<b class='flag-5'>系統(tǒng)</b>仿真研究

    基于SystemVieW的多路載波通信系統(tǒng)仿真

    基于SystemVieW的多路載波通信系統(tǒng)仿真(依工測試測量儀器)-該文檔為基于SystemVieW的多路載波通信系統(tǒng)仿真講解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,
    發(fā)表于 09-30 12:11 ?31次下載
    基于<b class='flag-5'>SystemVieW</b>的多路載波通信<b class='flag-5'>系統(tǒng)</b>仿真

    基于Systemview的脈沖編碼調(diào)制系統(tǒng)仿真

    基于Systemview的脈沖編碼調(diào)制系統(tǒng)仿真(測試測量儀器設(shè)備)-該文檔為基于Systemview的脈沖編碼調(diào)制系統(tǒng)仿真講解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,
    發(fā)表于 09-30 12:14 ?16次下載
    基于<b class='flag-5'>Systemview</b>的脈沖編碼調(diào)制<b class='flag-5'>系統(tǒng)</b>仿真

    Systemview實現(xiàn)對QPSK系統(tǒng)的仿真與分析

    Systemview實現(xiàn)對QPSK系統(tǒng)的仿真與分析(測試測量計量的區(qū)別)-該文檔為用Systemview實現(xiàn)對QPSK系統(tǒng)的仿真與分析講解文檔Sy
    發(fā)表于 09-30 12:16 ?11次下載
    用<b class='flag-5'>Systemview</b>實現(xiàn)對QPSK<b class='flag-5'>系統(tǒng)</b>的仿真與分析

    何在OpenMV生態(tài)系統(tǒng)中集成STM32Cube.AI生成的代碼

    電子發(fā)燒友網(wǎng)站提供《如何在OpenMV生態(tài)系統(tǒng)中集成STM32Cube.AI生成的代碼.pdf》資料免費下載
    發(fā)表于 09-20 09:55 ?0次下載
    如<b class='flag-5'>何在</b>OpenMV生態(tài)<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中集成</b>STM32Cube.AI生成的代碼

    裸機系統(tǒng)中以任務(wù)方式高效利用SystemView調(diào)試分析

    對無OS的應(yīng)用,SystemView除了將整個系統(tǒng)視為idle空閑分析方式外,還可以通過任務(wù)方式檢測系統(tǒng)運行時行為。
    發(fā)表于 04-26 15:53 ?846次閱讀
    <b class='flag-5'>裸機</b><b class='flag-5'>系統(tǒng)</b>中以任務(wù)方式高效利用<b class='flag-5'>SystemView</b>調(diào)試分析