【WCH蓝牙系列芯片】-基于CH32V208开发板—SDI Printf虚拟串口功能使用

------------------------------------------------------------------------------------------------------------------------------------

  SDI (Serial Data Interface) 是沁恒微电子 RISC-V 内核的私有外设接口,SDI Printf 是 WCH 提供的一种虚拟串口调试功能,当前的CH32 RISC-V 系列目前提供了 SDI 的 printf 打印功能,主要功能是提供下载调试。可以直接使用SWD接口同一个接口来打印输出日志,不需要额外的硬件串口就可以打印调试信息。复用 WCH-LinkE 与 MCU 之间的 SDI 调试接口,把 MCU 的 printf 数据传给 WCH-LinkE,再由 WCH-LinkE 通过 USB 虚拟 COM 口送到电脑。

image

  在WCH-Link使用说明PDF中也有对这个SDI 虚拟串口功能的一个说明。

image

以CH32V208芯片为例,在EVT例程中,提供了一个SDI_Printf:调试口打印例程配合MRS2编译器,讲解一下这个SDI 的 printf 打印功能使用过程。

image

在SDI_Printf程序中,默认的打印还是串口日志输出的形式,需要在宏定义除添加SDI_PRINT=SDI_PR_OPEN

image

image

  在下载设置中,将使能SDI打印勾选上,还有将解除代码保护也勾选上,

image

  编译下载之后,打开虚拟的串口来观察串口打印的数据信息

image

  在这个基础上,在蓝牙工程中,添加这个SDI_Printf的工程,这样在调试蓝牙功能是可以下载完直接实时查看串口日志输出的数据

  还是在同样的工程熟悉中添加SDI_PRINT=SDI_PR_OPEN,

image

image

  编译下载之后,可以利用WCH-LinkE对应的串口来观察蓝牙广播的打印

image

注:

1、如果使用SDI的Printf功能时,如果硬件板子断电之后,需要重新下载之后,才能有正常的打印,直接断电在上电时无法直接有输出打印。

2、目前SDI打印不能和Debug同时使用,因为这两个功能目前都依赖于LINK去获取和输出数据,暂不支持同时使用。

 

 

 

 

posted on 2026-08-03 20:38  凡仕  阅读(15)  评论(0)    收藏  举报