如何获取上位机软件与RTT通信的接口信息?
各位坛友。在芯片端编写了RTT的接收发送功能。使用SERRER官方的软件JlinkRTTView 可以正常接收发送双向通信。但是有些不够友好,特别是发送,只能一行一行的敲,当命令比较多时难免不方便。如何能够获取这些接口,比如调用一些DLL ?哪里有这方面的文档,或者说监控出来。
官方看了下好像是收费的,不开源。
H7-TOOL也实现了这个功能,还实现了示波器,做的非常好,不晓得用的什么方式实现的?
有知道的大佬可否告知下?
目前只需要上位机 发送接收各通道的字符即可。
共享一下,手头的资料,介绍dll的接口 这个是我们自己实现的,没有使用SEEGER的方案,太受限制不灵活,而且DLL也封装起来了,没法我们自己魔改玩,特别是脱机支持。 经过两天的摸索,终于搞定了,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;
} 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;
}
} snail_dongbin 发表于 2022-9-12 11:11
经过两天的摸索,终于搞定了,RTT确实很快,好用。最主要的就4个接口 打开 关闭,读,写已经满足目前的需 ...
SEGGER的方案就是这样,太受限制了,需要在他们的DLL基础上开发,被我们砍掉了。 eric2013 发表于 2022-9-12 11:20
SEGGER的方案就是这样,太受限制了,需要在他们的DLL基础上开发,被我们砍掉了。
获取变量,读取axf文件这方面,有没更好的思路? 请教一下,这种上位机一般是用什么开发的? 会飞的猪_2020 发表于 2022-10-14 11:38
请教一下,这种上位机一般是用什么开发的?
我是用的c# 写的, windows 上目前基本都是.NET平台的,大同小异。 snail_dongbin 发表于 2022-9-10 15:52
共享一下,手头的资料,介绍dll的接口
谢谢大佬分享~ snail_dongbin 发表于 2022-9-12 11:13
public bool jLink_Send(uint ch, string cmd)
{
if (jLINKisConnect == tr ...
楼主你好,请问你的JLinkHandler 是从哪来的
页:
[1]