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

2023-12-17 01:18

本文主要是介绍【STM32F429】第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   实验例程说明

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

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

6.7   总结

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

 

 

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



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

相关文章

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

使用Python实现高效的端口扫描器

《使用Python实现高效的端口扫描器》在网络安全领域,端口扫描是一项基本而重要的技能,通过端口扫描,可以发现目标主机上开放的服务和端口,这对于安全评估、渗透测试等有着不可忽视的作用,本文将介绍如何使... 目录1. 端口扫描的基本原理2. 使用python实现端口扫描2.1 安装必要的库2.2 编写端口扫

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

Java中Object类的常用方法小结

《Java中Object类的常用方法小结》JavaObject类是所有类的父类,位于java.lang包中,本文为大家整理了一些Object类的常用方法,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. public boolean equals(Object obj)2. public int ha