硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1219|回复: 4
收起左侧

[RL-RTX] RTX5使用RTT输出按键信息后死机

[复制链接]

5

主题

35

回帖

50

积分

初级会员

积分
50
发表于 2021-10-14 10:47:33 | 显示全部楼层 |阅读模式
本帖最后由 flying1104 于 2021-10-14 14:02 编辑

系统:RTX5MCU:STM32H743
工具:JLINK
硬件:V9.70
dll:V6.96

背景:
以前使用串口调试,现在开始想转用RTT调试


移植版本:
RTX5:V7-RTX5 Template
RTT:专题5下面的H7版本,RTT version: 7.00

配置:
RTT采用默认专题5的配置

#define rttTerminal        SEGGER_RTT_SetTerminal
#define rttPrintf                SEGGER_RTT_printf


1.在AppTaskStart任务下,配置了RTT上行和下行
/* 配置通道 0,上行配置*/
SEGGER_RTT_ConfigUpBuffer(0, "RTTUP", NULL, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP);
        
/* 配置通道 0,下行配置*/
SEGGER_RTT_ConfigDownBuffer(0, "RTTDOWN", NULL, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP);


实现:
能够在AppTaskStart 打印出版本号


rttTerminal(0);
rttPrintf(0, "V1.0.0\r\n");


问题:
按下按键1,打印
rttPrintf(0, "KEY_DOWN_K1\r\n");
按下按键2,打印
rttPrintf(0, "KEY_DOWN_K2\r\n");

现象:
按下按键1或者按键2后,RTT能够输出打印信息
但MCU死机,LED不闪烁。
更换使用串口输出,MCU程序运作正常

在STM32F407上面一样的操作,没有问题,RTT version: 6.70a  

不知道怎么追踪代码,因此请问这个是哪里造成的呢?
感谢




回复

使用道具 举报

5

主题

35

回帖

50

积分

初级会员

积分
50
 楼主| 发表于 2021-10-14 11:29:05 | 显示全部楼层
本帖最后由 flying1104 于 2021-10-14 15:05 编辑

初步定位因为这个函数跳入硬件错误  
  if (BufferDesc.Cnt != 0u) {
      SEGGER_RTT_Write(BufferIndex, acBuffer, BufferDesc.Cnt);
    }

回复

使用道具 举报

5

主题

35

回帖

50

积分

初级会员

积分
50
 楼主| 发表于 2021-10-14 15:37:43 | 显示全部楼层
已经解决,RTT版本问题
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106709
QQ
发表于 2021-10-15 09:14:21 | 显示全部楼层
不好意思,回复晚了。

解决了就好。
回复

使用道具 举报

5

主题

35

回帖

50

积分

初级会员

积分
50
 楼主| 发表于 2021-10-18 15:07:29 | 显示全部楼层
eric2013 发表于 2021-10-15 09:14
不好意思,回复晚了。

解决了就好。

感谢回复,主要开始没找到头绪,没调试过系统和使用RTT调试,不熟悉调试工具,想要指引一下。
后来怀疑是不是JLINK和RTT版本不对造成的冲突
用了JLINK的软件版本RTT就没有问题了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-30 13:53 , Processed in 0.178392 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表