硬汉嵌入式论坛

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

[CMSIS-DAP] 上位机想集成Jlink或者DAP Link的内存读取功能

[复制链接]

3

主题

3

回帖

12

积分

新手上路

积分
12
发表于 2025-11-7 08:50:46 | 显示全部楼层 |阅读模式
硬汉哥,上位机想集成类似J-Scope的功能,1000Hz左右的频率去通过SWD接口读取单片机的内存,需要什么中间件,或者库?有什么实践建议么,现在感觉一头雾水。
回复

使用道具 举报

14

主题

269

回帖

311

积分

高级会员

积分
311
发表于 2025-11-7 11:37:44 | 显示全部楼层
我用JLINK的库实现过,需要有一个JLINK的DLL库,然后调用JLINK提供的读取数据接口。
但是读取前,你需要知道你变量所在内存的地址,所以你要分析ELF文件,从ELF文件里提取变量的相关信息,一般ELF文件使用的是DWARF4版本的信息,
如果使用的是STM32CUBEIDE编译的ELF文件的话,我记得是DWARF5版本的文件。不同版本信息不一样,推荐你用PYTHON做。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 2025-11-7 09:40:12 | 显示全部楼层
以我们TOOL为例,我们没有使用第3方组件,是我们自己开发的一个程序并集成到TOOL固件端的,上位机仅仅是从TOOL端获取数据。
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2025-11-7 17:21:32 | 显示全部楼层
JLinkARM.dll或者JLink_x64.dll,要知道地址,不知道的话,可用一块RAM,设好开始标志,将常用的数据复制到那块RAM,在所有RAM里搜索开始标志,就读到想要的数据
回复

使用道具 举报

3

主题

3

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2025-11-10 13:31:55 | 显示全部楼层
zhang0352505 发表于 2025-11-7 11:37
我用JLINK的库实现过,需要有一个JLINK的DLL库,然后调用JLINK提供的读取数据接口。
但是读取前,你需要知 ...

了解了,内存地址反而好说,为了方便算法和加载都是固定在CCM RAM里的固定地址的
回复

使用道具 举报

3

主题

3

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2025-11-10 13:33:16 | 显示全部楼层
ccxlslr 发表于 2025-11-7 17:21
JLinkARM.dll或者JLink_x64.dll,要知道地址,不知道的话,可用一块RAM,设好开始标志,将常用的数据复制到 ...

了解了,为了方便算法和加载都是固定在CCM RAM里的固定地址的,所以大致了解思路了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-21 20:51 , Processed in 0.041726 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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