snail_dongbin 发表于 2022-9-10 11:14:57

如何获取上位机软件与RTT通信的接口信息?

各位坛友。在芯片端编写了RTT的接收发送功能。使用SERRER官方的软件JlinkRTTView 可以正常接收发送双向通信。但是有些不够友好,特别是发送,只能一行一行的敲,当命令比较多时难免不方便。
如何能够获取这些接口,比如调用一些DLL ?哪里有这方面的文档,或者说监控出来。
官方看了下好像是收费的,不开源。
H7-TOOL也实现了这个功能,还实现了示波器,做的非常好,不晓得用的什么方式实现的?
有知道的大佬可否告知下?
目前只需要上位机 发送接收各通道的字符即可。

snail_dongbin 发表于 2022-9-10 15:52:18

共享一下,手头的资料,介绍dll的接口

eric2013 发表于 2022-9-10 15:59:18

这个是我们自己实现的,没有使用SEEGER的方案,太受限制不灵活,而且DLL也封装起来了,没法我们自己魔改玩,特别是脱机支持。

snail_dongbin 发表于 2022-9-12 11:11:36

经过两天的摸索,终于搞定了,RTT确实很快,好用。最主要的就4个接口 打开 关闭,读,写已经满足目前的需求。    导入.axf文件暂时没空折腾了。

      private int jLink_Recv(uint ch,out string rxStr)
      {
            byte[] tempBuffer = new byte;
            rxStr = "";
            int size = JLinkHandler.JLINK_RTTERMINAL_Read(ch, tempBuffer, 1024);
            if (size > 0)
            {
                byte[] rxBytes = new byte;
                Array.Copy(tempBuffer, rxBytes, rxBytes.Length);
                for (int i = 0; i < rxBytes.Length; i++)
                {
                  if (rxBytes == 0xff) rxBytes = (byte)('|');
                  if (rxBytes == 0x1b) rxBytes = (byte)('^');
                }
                rxStr = System.Text.Encoding.UTF8.GetString(rxBytes);
                Console.Write(rxStr);
            }
            return size;
      }

snail_dongbin 发表于 2022-9-12 11:13:17

      public bool jLink_Send(uint ch, string cmd)
      {
            if (jLINKisConnect == true)
            {
                byte[] byteArray = System.Text.Encoding.Default.GetBytes(cmd);
                JLinkHandler.JLINK_RTTERMINAL_Write(ch, byteArray, (uint)byteArray.Length);
                return true;
            }
            else
            {
                return false;
            }
      }

eric2013 发表于 2022-9-12 11:20:05

snail_dongbin 发表于 2022-9-12 11:11
经过两天的摸索,终于搞定了,RTT确实很快,好用。最主要的就4个接口 打开 关闭,读,写已经满足目前的需 ...

SEGGER的方案就是这样,太受限制了,需要在他们的DLL基础上开发,被我们砍掉了。

snail_dongbin 发表于 2022-9-12 13:02:34

eric2013 发表于 2022-9-12 11:20
SEGGER的方案就是这样,太受限制了,需要在他们的DLL基础上开发,被我们砍掉了。

获取变量,读取axf文件这方面,有没更好的思路?

会飞的猪_2020 发表于 2022-10-14 11:38:03

请教一下,这种上位机一般是用什么开发的?

snail_dongbin 发表于 2022-11-25 13:38:45

会飞的猪_2020 发表于 2022-10-14 11:38
请教一下,这种上位机一般是用什么开发的?

我是用的c# 写的, windows 上目前基本都是.NET平台的,大同小异。

wofei1314 发表于 2022-12-17 09:46:03

snail_dongbin 发表于 2022-9-10 15:52
共享一下,手头的资料,介绍dll的接口

谢谢大佬分享~

ckrgd 发表于 2023-9-20 14:15:30

snail_dongbin 发表于 2022-9-12 11:13
public bool jLink_Send(uint ch, string cmd)
      {
            if (jLINKisConnect == tr ...

楼主你好,请问你的JLinkHandler 是从哪来的
页: [1]
查看完整版本: 如何获取上位机软件与RTT通信的接口信息?