搜索
bottom↓
回复: 34

Qt调用JLink获取ARM仿真器端口

[复制链接]

出5入0汤圆

发表于 2021-5-13 10:26:30 | 显示全部楼层 |阅读模式
100汤圆
Qt5调用JLink获取ARM仿真器端口,实行程序烧录,MCU是Apollo系列的。现在是获取端口的数据是错误的,跪求大佬指点!!!!!!!!!!!!!!!!

附件: 您需要 登录 才可以下载或查看,没有帐号?注册

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出16170入6148汤圆

发表于 2021-5-13 10:31:41 来自手机 | 显示全部楼层
我感觉你这样提问,可能解决不了问题。

你详细测试和观察,找出程序运行异常的那一个点,再请教,别人才好给你意见。


就像你问:汽车不能启动,什么原因?

原因可能有1万个,别人怎么告诉你?

出5入0汤圆

 楼主| 发表于 2021-5-13 11:40:29 | 显示全部楼层
armok. 发表于 2021-5-13 10:31
我感觉你这样提问,可能解决不了问题。

你详细测试和观察,找出程序运行异常的那一个点,再请教,别人才好 ...

具体原因我也不知道,ARM仿真器接的是VDD1.8,SWDCK,SWDIO,GND,USB转串口接的是VCC3.3,Rx,Tx,GND,程序源码中调试都有输出,JLINKARM_ReadMem返回值是 1,我对JLink所谓的API不是很熟,还请各位大佬帮我看看,分析分析,看看还有什么别的办法获取ARM仿真器端口,在此谢谢了,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出5入0汤圆

 楼主| 发表于 2021-5-13 11:48:50 | 显示全部楼层
renxubo 发表于 2021-5-13 11:40
具体原因我也不知道,ARM仿真器接的是VDD1.8,SWDCK,SWDIO,GND,USB转串口接的是VCC3.3,Rx,Tx,GND,程序源码 ...

或者有Qt调用JLink获取ARM仿真器端口这方面的例子借我参照参照,谢谢了

出615入1076汤圆

发表于 2021-5-13 12:58:47 来自手机 | 显示全部楼层
整這麼麻煩做什麼,先用現有的工具,實現命令行燒錄,然後 QT 調用命令行命令不就行了。

出5入0汤圆

 楼主| 发表于 2021-5-13 13:38:39 | 显示全部楼层
dukelec 发表于 2021-5-13 12:58
整這麼麻煩做什麼,先用現有的工具,實現命令行燒錄,然後 QT 調用命令行命令不就行了。 ...

是在开发一个上位机

出615入1076汤圆

发表于 2021-5-13 14:04:03 来自手机 | 显示全部楼层
我說的就是開發上位機啊

出5入0汤圆

 楼主| 发表于 2021-5-13 15:28:37 | 显示全部楼层
具体的操作步骤能指点指点吗?

出5入0汤圆

 楼主| 发表于 2021-5-13 15:29:31 | 显示全部楼层
dukelec 发表于 2021-5-13 14:04
我說的就是開發上位機啊

具体的操作步骤能指点指点吗?

出615入1076汤圆

发表于 2021-5-13 16:03:35 | 显示全部楼层
renxubo 发表于 2021-5-13 15:29
具体的操作步骤能指点指点吗?

一個軟件調用另一個軟件有 2 種方式

一種是通過 api 接口,譬如動態庫接口、dbus 通訊等等

另一種是通過命令行調用,你的程序通過命令行調用另一個程序執行任務,然後通過返回值和打印信息獲取結果和進度

你現在用的是第一種方式,我推薦的是第二種方式,第二種更簡單通用,而且不求人(譬如某個軟件沒有提供 api 接口文檔,也不影響我們調用它,當然前提是有命令行參數說明 help)

出5入0汤圆

 楼主| 发表于 2021-5-13 16:12:03 | 显示全部楼层
dukelec 发表于 2021-5-13 16:03
一個軟件調用另一個軟件有 2 種方式

一種是通過 api 接口,譬如動態庫接口、dbus 通訊等等

谢谢,我还是想用第一种方式

出5入0汤圆

 楼主| 发表于 2021-5-18 10:22:11 | 显示全部楼层
armok. 发表于 2021-5-13 10:31
我感觉你这样提问,可能解决不了问题。

你详细测试和观察,找出程序运行异常的那一个点,再请教,别人才好 ...

莫哥,能把你之前写的Qt调用JLinkARM烧录固件的例子发给我看下吗?

出0入8汤圆

发表于 2021-5-18 16:19:18 | 显示全部楼层
我是直接调用JLink.exe加参数

出5入0汤圆

 楼主| 发表于 2021-5-18 16:25:08 | 显示全部楼层
蓝蓝的恋 发表于 2021-5-18 16:19
我是直接调用JLink.exe加参数

求大神指教,能具体说下过程吗?

出0入8汤圆

发表于 2021-5-18 16:31:13 | 显示全部楼层
我不是用QT操作的,不过应该都大同小异,JLink.exe打开后可以查看各种命名,根据命令操作就行

出5入0汤圆

 楼主| 发表于 2021-5-18 16:58:50 | 显示全部楼层
蓝蓝的恋 发表于 2021-5-18 16:31
我不是用QT操作的,不过应该都大同小异,JLink.exe打开后可以查看各种命名,根据命令操作就行 ...

我之前没用过JLink命令操作,你的JLink是哪个版本的,怎么查看,怎么根据命令操作?还请指教。。。。

出0入8汤圆

发表于 2021-5-18 17:29:50 | 显示全部楼层
版本不重要,你双击打开JLink.exe,然后输入?回车

出5入0汤圆

 楼主| 发表于 2021-5-19 10:38:30 | 显示全部楼层
蓝蓝的恋 发表于 2021-5-18 17:29
版本不重要,你双击打开JLink.exe,然后输入?回车

我的怎么是这个样子的????

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

发表于 2021-5-19 10:57:14 | 显示全部楼层
renxubo 发表于 2021-5-19 10:38
我的怎么是这个样子的????

你输入了一个中文的?

出0入8汤圆

发表于 2021-5-19 11:02:05 | 显示全部楼层
我只是做了简单的下载程序,其他的没做过,你自己摸索一下吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出5入0汤圆

 楼主| 发表于 2021-5-19 14:30:32 | 显示全部楼层
蓝蓝的恋 发表于 2021-5-19 11:02
我只是做了简单的下载程序,其他的没做过,你自己摸索一下吧

你调用的这些函数的头文件是哪个啊

出5入0汤圆

 楼主| 发表于 2021-5-19 14:52:16 | 显示全部楼层
dukelec 发表于 2021-5-13 16:03
一個軟件調用另一個軟件有 2 種方式

一種是通過 api 接口,譬如動態庫接口、dbus 通訊等等

大神,我正在用你们说的第二种方式Qt调用JLink命令行,是把命令写到脚本里面,然后再调用脚本吗?  还是有直接调用命令的办法,这个命令怎么写啊,有没有例子可以参考的。

出0入8汤圆

发表于 2021-5-19 14:53:36 | 显示全部楼层
renxubo 发表于 2021-5-19 14:30
你调用的这些函数的头文件是哪个啊

没有头文件,直接shell运行jlink.exe

出5入0汤圆

 楼主| 发表于 2021-5-19 14:55:34 | 显示全部楼层
蓝蓝的恋 发表于 2021-5-19 11:02
我只是做了简单的下载程序,其他的没做过,你自己摸索一下吧

能不能把你调用JLink命令进行烧录的例子给我参考下,。。。。。。。。。。。。。。

出0入8汤圆

发表于 2021-5-19 14:59:44 | 显示全部楼层
renxubo 发表于 2021-5-19 14:55
能不能把你调用JLink命令进行烧录的例子给我参考下,。。。。。。。。。。。。。。 ...

上面图片里是全部代码,往jlink.exe里写那些命令就完事了

出5入0汤圆

 楼主| 发表于 2021-5-19 15:04:29 | 显示全部楼层
蓝蓝的恋 发表于 2021-5-19 14:59
上面图片里是全部代码,往jlink.exe里写那些命令就完事了

谢谢了,我做的是上位机,只能用上位机来实现功能或上位机程序调用其它程序实现功能。

出0入0汤圆

发表于 2021-5-19 21:51:40 | 显示全部楼层
很多年前写过一个c#程序,也是调用JlinkARM.dll。记得不难啊!

出5入0汤圆

 楼主| 发表于 2021-5-27 11:04:38 | 显示全部楼层
wurst 发表于 2021-5-19 21:51
很多年前写过一个c#程序,也是调用JlinkARM.dll。记得不难啊!

大神,能否指点下,

出0入0汤圆

发表于 2021-5-27 12:11:20 | 显示全部楼层
renxubo 发表于 2021-5-27 11:04
大神,能否指点下,

太久了,不记得了。坛里也有类似的代码呀!   回头我找找以前提的代码

出5入0汤圆

 楼主| 发表于 2021-5-27 14:23:07 | 显示全部楼层
wurst 发表于 2021-5-27 12:11
太久了,不记得了。坛里也有类似的代码呀!   回头我找找以前提的代码 ...

好的,跪谢,    论坛基本看过,我的MCU不是ST系列的,有点出入,看到例子后可能会清晰些

出0入0汤圆

发表于 2021-5-27 19:58:33 | 显示全部楼层
renxubo 发表于 2021-5-27 14:23
好的,跪谢,    论坛基本看过,我的MCU不是ST系列的,有点出入,看到例子后可能会清晰些 ...

若MCU不常见的话,你先在J-Flash 程序确认是否存在?




若存在,直接在参数指定该型号即可。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出5入0汤圆

 楼主| 发表于 2021-6-1 14:26:48 | 显示全部楼层
wurst 发表于 2021-5-27 19:58
若MCU不常见的话,你先在J-Flash 程序确认是否存在?

开发环境都搭建好了,调用JLink命令行烧录和擦除也都实现了,调用JLinkARM.dll实现烧录还在做,没有调用的例子,进行有点难啊

出215入118汤圆

发表于 2021-6-2 16:44:59 | 显示全部楼层
renxubo 发表于 2021-6-1 14:26
开发环境都搭建好了,调用JLink命令行烧录和擦除也都实现了,调用JLinkARM.dll实现烧录还在做,没有调用 ...

参考 这个坛友的:
https://www.amobbs.com/forum.php ... amp;highlight=JLINK

出5入0汤圆

 楼主| 发表于 2021-6-11 14:11:51 | 显示全部楼层
snowy 发表于 2021-6-2 16:44
参考 这个坛友的:
https://www.amobbs.com/forum.php?mod=viewthread&tid=5690311&highlight=JLINK ...

现在只是想把固件写入内存中,然后再读出来进行校验,内存是2M,可以写的始末地址是0x00018000,0x001FFFF0 。固件是写到内存了,但是按字节一个一个读不出来,读出来的是空数据,各位大神帮忙看看是方法、参数有问题,还是字节数有问题,还是其它问题,请各位大神指教指教。。。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

发表于 2022-3-15 14:30:48 | 显示全部楼层
请问怎样选定芯片型号JLINKARM_SelDevice,这个函数的输入参数给多少
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 19:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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