硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1872|回复: 10
收起左侧

[问题解答] 如何获取上位机软件与RTT通信的接口信息?

[复制链接]

1

主题

5

回帖

8

积分

新手上路

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

回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2022-9-10 15:52:18 | 显示全部楼层
共享一下,手头的资料,介绍dll的接口

UM08002_JLinkDLL.pdf

3.36 MB, 下载次数: 67

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2022-9-10 15:59:18 | 显示全部楼层
这个是我们自己实现的,没有使用SEEGER的方案,太受限制不灵活,而且DLL也封装起来了,没法我们自己魔改玩,特别是脱机支持。
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2022-9-12 11:11:36 | 显示全部楼层
经过两天的摸索,终于搞定了,RTT确实很快,好用。最主要的就4个接口 打开 关闭,读,写  已经满足目前的需求。    导入.axf文件暂时没空折腾了。

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

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 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;
            }
        }
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2022-9-12 11:20:05 | 显示全部楼层
snail_dongbin 发表于 2022-9-12 11:11
经过两天的摸索,终于搞定了,RTT确实很快,好用。最主要的就4个接口 打开 关闭,读,写  已经满足目前的需 ...

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

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2022-9-12 13:02:34 | 显示全部楼层
eric2013 发表于 2022-9-12 11:20
SEGGER的方案就是这样,太受限制了,需要在他们的DLL基础上开发,被我们砍掉了。

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

使用道具 举报

39

主题

196

回帖

323

积分

高级会员

积分
323
发表于 2022-10-14 11:38:03 | 显示全部楼层
请教一下,这种上位机一般是用什么开发的?
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2022-11-25 13:38:45 | 显示全部楼层
会飞的猪_2020 发表于 2022-10-14 11:38
请教一下,这种上位机一般是用什么开发的?

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

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2022-12-17 09:46:03 | 显示全部楼层
snail_dongbin 发表于 2022-9-10 15:52
共享一下,手头的资料,介绍dll的接口

谢谢大佬分享~
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 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 是从哪来的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-2 13:49 , Processed in 0.318039 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表