打印
[其它产品/技术]

KBA-如何使用JLink RTT调试CapSense PSoC Creator Tunner

[复制链接]
15|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2025-6-26 16:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
背景
       在MTB下,可以使用RTT Tunner调试CapSense,这样可以解放串口或I2C仅使用SWD即可,但是在上一代PSoC4 Creator下,却并不支持RTT Tunner,使用官方工具调试仍有诸多不便,为解决这个问题,于是就有了这个小工具~
  • PSoC4 RTT移植:
  • Segger安装目录下提供了RTT的源码,以V816版本为例,在如下路径:
D:\Program Files (x86)\SEGGER\JLink_V816\Samples\RTT\SEGGER_RTT_V816
将源码Copy至工程中,只需要添加如下图示三个文件即可,

  • 添加完成后在main.c中增加_write的重定向以及调用SEGGER_RTT_Init()初始化即可。
  • 编译下载,然后连接JLink,打开J-Link RTT Viewer, 选择好芯片即可:

顺便安立一下我做的RTT View,支持JLink下载固件。

  • 注意一点:如果运行不成功,可将Heap Size改大一些,比如0x200

  • JLink RTT Tunner
  • 目前的Creator Tunner支持串口、I2C、SPI等方式,接下来我们需要做的就是通过虚拟串口,将JLink RTT读取到的数据,转发给虚拟串口,以串口方式来Tunner,首先需要安装虚拟串口程序:com0com-3.0.0.0-i386-and-x64-signed.zip,安装成功后在设备管理器中就会虚拟出一对串口。 通过下图也可以看到两个com0com port。

  • com0com的简单介绍: com0com是windows内核模式下的虚拟串口驱动程序。可以创建虚拟串口对来连接两个COM端口。它是一个开源项目,地址是http://sourceforge.net/projects/com0com/
打开两个串口调试工具,相互之间发数据可简单测试其如何工作(不受波特率影响)

借助于它,我们可以通过RTT将读取到的CapSense数据,转发到一个虚拟串口上,然后在Creator Tunner下打开另一个配对串口,然后就可以愉快的Tunner了。
  • 先看官方Tunner支持的串口调试协议:

在CapSense_dsRam结构体前后加一个0x0D,0x0A的头以及0x00,0xFF,0xFF的尾即可,very very easy,于是我们照葫芦画瓢,在移植了RTT的工程上增加如下代码:

即可将CapSense_dsRam的数据按照串口协议的方式写入RTT Buffer中。
  • 重点来了:运行RTT2Serial4Tunner的小工具,连接JLink,选择一个com0com的串口,然后点RTT Start即可。

  • 5.    然后打开Creator Tunner,串口选择com0com的另一个串口,然后就可以仅使用SWD接口即可tunner了。

使用特权

评论回复
沙发
AdaMaYun| | 2025-6-26 23:25 | 只看该作者
非常不错的案例分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1595

主题

5430

帖子

6

粉丝