硬汉嵌入式论坛

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

[RTT] RTT的函数SEGGER_RTT_printf需要较大的栈空间,如果大家移植RTT开辟的空间不足会硬件异常

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2023-4-15 02:56:00 | 显示全部楼层 |阅读模式
SEGGER_RTT_printf会调用下面函数:

下载 (2).png

局部变量大小是由SEGGER_RTT_Conf.h文件决定:

[C] 纯文本查看 复制代码
#ifndef   SEGGER_RTT_PRINTF_BUFFER_SIZE
  #define SEGGER_RTT_PRINTF_BUFFER_SIZE             (1024u)    // Size of buffer for RTT printf to bulk-send chars via RTT     (Default: 64)
#endif


如果大家开辟的空间不足会导致硬件异常:

下载 (1).png




回复

使用道具 举报

0

主题

7

回帖

7

积分

新手上路

积分
7
发表于 2023-6-30 12:16:40 | 显示全部楼层
我一般都是把这里改为静态变量,函数变成不可重入,但是影响很小。同时我release模式是不使用rtt的,发布之后就更加没有影响了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2023-7-1 01:12:06 | 显示全部楼层
gwnpeter 发表于 2023-6-30 12:16
我一般都是把这里改为静态变量,函数变成不可重入,但是影响很小。同时我release模式是不使用rtt的,发布之 ...

主是RAM容量比小的芯片容易在这个地方出问题了,
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 05:44 , Processed in 0.184210 second(s), 36 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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