如何在Eclipse ThreadX RTOS中集成SystemView

描述

SEGGER实时软件分析工具SystemView已经在ThreadX v6.4.2上进行了测试。SystemView从v3.60c版本支持Eclipse ThreadX(Azure RTOS),用户可以基于Systemview记录ThreadX操作系统事件并执行分析。我们基于SEGGER Embedded Studio开发环境描述如何在Eclipse ThreadX RTOS中集成SystemView。

使用Embedded Studio

创建ThreadX项目

1 启动Embedded Studio

2(可选)通过Tools->Package Manager为使用的处理器安装CPU支持包

3 创建工程

通过File ->New Project…,创建项目,为设备选择项目模板。例如“A C/C++ executable For NXP LPC4300.”,并输入项目名称。

4 测试创建的项目

通过J-Link连接目标硬件,构建项目并启动调试会话,运行项目,在Terminal窗口中看到Hello World输出。

5 获取ThreadX代码

在文件资源管理器中使用File ->Open Studio Folder…->Project Flolder打开工程文件目录,创建一个新文件夹‘threadx’,并添加ThreadX源代码,ThreadX代码包可以访问https://github.com/SEGGERMicro/threadx/releases/tag/v6.4.2_rel-segger获取。

6 将ThreadX添加到Embedded Studio项目中

通过右键单击Project->New Folder.... 创建一个新的文件夹ThreadX,在“ThreadX”中创建一个新文件夹common,并设置其Dynamic Flolder Options选项,将Source folder设置为“$(ProjectDir)/threadx/common”,设置Filter specification为*.c;*.h。选中“Recurse into subdirectoires”。

在‘ThreadX’中创建一个新文件夹‘ports’,并设置其Dynamic Flolder Options选项,将源文件夹设置为目标平台的移植代码,例如“$(ProjectDir)/threadx/ports/cortex_m4/gnu”。设置Filter specification为*.s;*. s;*. c;*.h。将Exclude specification设置为“*example*”。选中“Recurse into subdirectoires”。

通过右键单击Project->Options添加包含路径。选择“Common”配置,编辑Code->Preproessor->用User Include Directories,添加“$(ProjectDir) / threadx /common/inc”,添加移植包含文件,如$(ProjectDir)/threadx/ports/cortex_m4/gnu/inc。

7(可选)添加第三方库,hal,驱动程序等到项目中

8 添加应用程序代码。

编辑main.c,添加#include“tx_api.h”,并修改main()函数实现。

9 使用Embedded Studio构建、开发和调试项目。

将SystemView

添加到ThreadX项目中

SystemView检测代码需要添加到ThreadX源代码中。建议使用https://github.com/SEGGERMicro/threadx上准备好的ThreadX源代码,如果使用其他来源的ThreadX,需手动修改应用修改。

1 将SystemView和RTT源添加到项目中

在文件资源管理器中打开项目,创建新的文件夹‘SystemView’并添加SystemView源代码。访问https://www.segger.com/downloads/systemview可以下载最新的SystemView代码。

创建一个新文件夹‘RTT’并添加SEGGER_RTT源代码。

将SystemView/SYSVIEW/*.c,SystemView/SYSVIEW/Sample/ThreadX/SEGGER_SYSVIEW_ThreadX.c,RTT/RTT/*.c,RTT/RTT/*.s及配置如SystemView/SYSVIEW/Sample/ThreadX/Cortex_M4/SEGGER_SYSVIEW_Config_ThreadX.c添加到项目。

添加include path,SystemView/Config,SystemView/SEGGER,SystemView/SYSVIEW,RTT/Config,RTT/RTT

2 根据目标系统调整SystemView和RTT配置

调整SEGGER_SYSVIEW_Config_ThreadX.c配置,设置SEGGER_SYSVIEW_Conf.h和SEGGER_RTT_Conf.h中的配置。

3 在SystemView中启用ThreadX跟踪

添加预处理器定义ENABLE_TRACE_API=1,在tx_api.h的末尾添加

#include “SEGGER_SYSVIEW_ThreadX.h”

在main()函数中调用SEGGER_SYSVIEW_Conf()。

完成以上操作,即可实现Systemview跟踪ThreadX系统行为了。

SystemView是一个用于嵌入式系统的实时记录和可视化工具。它揭示了应用程序的真实运行时行为,比调试器提供更多的系统洞察。麦克泰技术代理SEGGER全线产品,具有丰富的RTOS分析软件与调试工具使用方面的知识和经验,欢迎咨询。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分