arm - RTT 查看器未识别 Segger RTT 控制块
问题描述
我正在尝试使用 Segger 的 RTT(实时传输),但在 RTT 查看器上看不到任何输出。我怀疑根本原因是 RTT 查看器未识别 RTT 控制块。
设置
主机 PC 使用 Seggers 的 J-Link 调试器(JTAG 接口)连接到基于 ARM-CORTEX-M4 的板,如下所示:
[PC] <---- J-Link -----> [ generic CORTEX-M4 board]
我想要达到的目标
我正在尝试集成 Segger 特有的 RTT 功能,但我无法在主机 PC 上的 RTT 查看器软件中看到来自 RTT 的打印件,方法是
segger提供的集成代码
SEGGER_RTT_Conf.h SEGGER_RTT_printf.c SEGGER-RTT.c SEGGER_RTT.h
包含
SEGGER_RTT.h
在我的主文件中并添加了一个调用SEGGER_RTT_WriteString(0, "Hello World from SEGGER RTT!\r\n");
内
main()
。使用 Eclipse 和
arm-none-eabi-
工具链编译应用程序,以及JLINK_GDBserverCL.exe
-- 调试服务器arm-none-eabi-gdb
-- 调试客户端- Segger J-Link -- 硬件调试器(连接其 JTAG 接口)
在主机 PC 上使用 RTT 查看器软件在步骤 #2 中接收打印。
我希望在第 3 步中看到打印,请帮助我继续。
解决方案
您需要在调用 JLinkRTTViewer / JLinkRTTClient 时指定要连接的特定设备,或者您需要在 .map 文件中找到“_SEGGER_RTT”的内存地址并将其传递给工具。
推荐阅读
- c - 如何在c中切片/索引数据
- python - 比较两个数据帧并通过比较一列找到不在第二个数据帧中的行
- node.js - 如何检查记录是否更新或插入成功Angular
- java - Android - 从 FileUtils 实现方法得到错误
- python - 在两个不同列上计算 Pandas Dataframe 中的新行
- mysql - 在 Mysql 中检索 JSON 数组中的 Json 数据的值
- r - 将值切换到新列中的标签
- python - 如何使用多维 numpy 数组作为输入用 Seaborn 绘制箱线图或小提琴图?
- sql-server - 在 docker 中运行 aspnet core 与 sql server 集成安全性
- gradle - 如何使用 Gradle Kotlin DSL 从单独的 .gradle 文件从 gradle 脚本调用函数?