【STM32F407】第6章 RTX5调试组件使用方法(重要)

2023-12-17 01:18

本文主要是介绍【STM32F407】第6章 RTX5调试组件使用方法(重要),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=93149

第6章   RTX5调试组件使用方法(重要)

本章节为大家讲解RTX5的调试方法,RTX5的调试组件和Event Recoder都可以实时监控运行状态。设置比较简单。

目录

第6章   RTX5调试组件使用方法(重要)

6.1   初学者重要提示

6.2   RTX5调试组件

6.3   RTX5使用Event Recorder实时展现执行细节

6.3.1      第1步,设置使用Event Recorder模式的IO输出

6.3.2      第2步,调试信息配置

6.3.3      第3步,实际效果

6.4   RTX5使用Event Statistics实时展示任务执行时间

6.5   RTX5使用System Analyzer实时展示任务切换

6.6   实验例程说明

6.7   总结


 

6.1   初学者重要提示

  1.   本章节使用的例子是由前面移植章节配套的例子简单修改而来。另外,对于本章节配套的例子,大家仅需要知道如何使能调试功能即可,具体代码实现的功能会在后面章节逐渐讲解。
  2.   如果不熟悉Event Recorder的使用,务必看下F4用户手册的第8章。http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255  。

6.2   RTX5调试组件

MDK进入调试状态后,选择周期更新:

然后打开调试组件,注意和RTX4的调试组件位置不同:

然后点击MDK的全速运行,

至此,就可以动态实时查看RTX5的运行状态:

 

6.3   RTX5使用Event Recorder实时展现执行细节

下面分步说明RTX5的Event Recorder调试方法。关于JLINK,STLINK,CMSIS-DAP使用Event Recorder的注意事项在F4开发板用户手册的8章节有详细说明:

http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255  。

6.3.1      第1步,设置使用Event Recorder模式的IO输出

使能bsp.h文件里面的宏定义,0表示禁止Event Recorder,1表示使能。

这个宏定义控制的是bsp.c文件里面的Event Recorder的初始化。

#if Enable_EventRecorder == 1  /* 初始化EventRecorder并开启 */EventRecorderInitialize(EventRecordAll, 1U);EventRecorderStart();
#endif

设置完毕后,配置STDOUT使用Event Recorder(EVR)。

6.3.2      第2步,调试信息配置

本章配套例子是采样下面的配置方法,大家移植时,可以先用下面的配置方式,调试通后再修改不同配置参数看效果:

6.3.3      第3步,实际效果

进入MDK调试状态,全速运行,然后打开Event Recorder组件:

效果如下:

6.4   RTX5使用Event Statistics实时展示任务执行时间

进入MDK调试状态,全速运行,然后打开Event Statistics组件:

效果如下:

使用这个功能注意两点:

  1.   这个信息的展示,MDK5一直是时好时坏,如果大家调试的时候没有展示这部分信息可以尝试下载程序后,板子重新上电,下载器重新插拔,然后再使用MDK5调试。如果还是无法正常展示,就多试几次(注,进入调试状态后,可以狂按几次RST按钮,有时候也会有消息)。
  2.   为了保证测试时间是正确的,这个地方的主频一定要和芯片的主频一致,使用JLINK,STLINK,CMSIS-DAP等都是一样的。

  •  这个Enable选项勾不勾都没有关系,推荐大家不勾,防止无法正常进入调试模式。
  •  Corte主频配置需要大家先勾上Enable,设置完毕后,再取消对勾。

6.5   RTX5使用System Analyzer实时展示任务切换

进入MDK调试状态,全速运行,然后打开System Analyzer组件:

效果如下:

6.6   实验例程说明

本章节仅仅是教会大家调试方法,具体实验内容还不做讲解,仅需学会调试功能的开启方法即可。

本章节配套例子:V5-402_RTX5 Debug Mode。

6.7   总结

本章节为大家讲解这么多,建议实际操作演练下,实践出真知。

 

这篇关于【STM32F407】第6章 RTX5调试组件使用方法(重要)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/502590

相关文章

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a