通过C-SPY 的Terminal I/O,可以直接通过Debugger打印出log,非常方便调试,这样就不再需要借助设备串口打印log,免去串口接线,不占用MCU Uart口。

只需要接上Debugger调试器如常用的Jlink/STlink进行Debug,就可以通过printf打印出log


Step1: 头文件引用

在有打印printf的代码文件中,引用stdio:

  • #include <stdio.h>

Step2: 配置stdout Option 为SWO

IAR-> Project ->Option中选择Stdout为via SWO(Serial Wire Output,串行线输出) :
在这里插入图片描述


Step3: 使用Terminal IO查看log

IAR 选择好相应的Debugger,下载程序运行,进入调试Debug模式后,通过View->Teminal IO打开窗口,就可以在窗口查看代码打印出的log,方便调试。

打印函数使用printf即可(此时printf不能被重定向到串口,否则将导致Terminal I/O无数据输出)

在这里插入图片描述


原理:在Debug过程中,C-SPY调试器会把stdin和stdout的数据直接导入到 Terminal I/O窗口中。

注意:Terminal I/O窗口只有在C-SPY使用了“With I/O emulation modules”(使用I/O仿真模块)输出模式对工程进行连接之后才是可以打开的


博主热门文章推荐:

一篇读懂系列:

LoRa Mesh系列:

网络安全系列:

嵌入式开发系列:

AI / 机器学习系列:


在这里插入图片描述

GitHub 加速计划 / term / terminal
8
0
下载
The new Windows Terminal and the original Windows console host, all in the same place!
最近提交(Master分支:4 个月前 )
25392ea6 CodeQL is raising errors when building Visual Studio since they have a dependency on Windows Terminal for our integrated terminal. The issue raised by CodeQL refers to a non-constant string format, but in this case the string comes from a resource file and should be considered constant. 5 天前
8ddb14bd After #15855, this repo no longer uses submodules. Removing instruction about needing to initialize them. 6 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐