利用树莓派打造STM32无线在线调试器!

2020-03-25来源: eefocus关键字:树莓派  STM32  无线在线调试器

不知各位嵌入式开发者有没有遇到这样的经历:J-link的线长限制了我们编程的姿势,很多时候我们的工程都需要板子产生一些位移(比如调小车之类的),这时候J-link的线会让我们Debug的过程变得非常痛苦。。。那么有没有办法让我们解决这个数据线的痛苦呢??答案是当然有的!只要有着一颗折腾的心,办法总是会慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢慢想出来的。本人最近一直在弄一个相关工程,因为被线限制的非常痛苦,于是就考虑出了使用树莓派作为J-link的服务器然后和STM32固连来实现远程下载与调试的办法。鉴于官方仅放出驱动程序没有提供技术支持,本人在折腾的时候发现网上的资料也很少,特在此记录我的操作步骤和方法,以便大家也能和我一起分享无线的喜悦


#利用树莓派作为J-link的远程服务器

首先,我们需要在树莓派上安装J-link的驱动,截至本文章撰稿完成,目前的J-link驱动版本是V6.22c。我们可以下载ARM版本的J-link驱动(该资源是我手工下载下来的再重新上传的,方便大家找和下载)


如果这篇文章已经过去了很久 那么建议从下面的官网地址去下载

https://www.segger.com/downloads/J-link/


我们会下载得到一个tgz压缩包 把这个包解压到树莓派中(建议目录/opt/)

打开这个文件夹,里面会有很多的可执行文件。这时候我们需要运行其中的J-linkRemoteServer

首先确认我们具有可执行权限,如果没有则需要使用chmod指令


chmod +x J-linkRemoteServer


这时候,记得把J-link插上树莓派,然后我们可以试着运行一下


./J-linkRemoteServer


当你的终端显示"Waiting for client connection…"的时候就意味着你的服务器已经启动成功了!


如果出现其他问题,建议使用J-linkExe来看一下J-link的识别问题

启动情况

如果测试成功的话,我们就可以把它添加到树莓派的开机自启动了,让树莓派在开机自启的时候打开服务,更省心。


我们可以用sudo vim /etc/rc.local,在文件末尾前添加自己的启动项。


nohup /绝对路径/J-linkRemoteServer &


使用nohup的原因是有时候Server会等待输出,使用nohup好像可以忽略输出。。在这点我还是有一点不明白,欢迎评论指教。


使用 & 的原因是开机的时候把该程序挂到后台

编辑完成后保存重启,重启后可以使用ps -A来查看服务有没有正常运行


当树莓派的远程服务器已经配置完成的时候,我们就可以把树莓派与STM32通过J-link给连接好,固定好,然后让树莓派连上wifi 静静的待在一个地方就可以了。

#上位机连接J-link远程服务器


在这里我使用的是MDK-ARM ,想必大家开发应该也是用这个居多吧 如果用的是IAR或者其他的IDE,应该是大同小异的


这时候我们随便打开一个工程,在工程设置里面找到J-link的设置

设置1

然后把链接方式改成“TCP/IP”,然后在ip地址填上树莓派的局域网ip地址,端口填0让程序自动搜索就可以的了

设置2

链接成功的话再设置上方应该会出现J-link的驱动号还有设备号

设置3

然后到此 设置就完成了!然后就可以像平时一样,该怎么下载就怎么下载 该怎么调试就怎么调试,再也没有线的限制!


PS:在使用中可能遇到的问题


在下载的过程中经常出现Max Number错误:局域网的传输速度太慢,同时下载速率过高,导致传输时频繁重连导致出现链接数量超过限制的错误。解决办法:把传输速率降低,比如我就把传输速率降到了500kHz。大家可以自己大概试着调一下。


以下是建议步骤 我在探索的时候有这些操作 但不确定这些操作是不是必须的 如果跟着上面的操作有任何异常情况 可以试着走一走下面的步骤


###更新电脑端的J-link驱动程序

因为刚刚我们在ARM的服务端是刚刚在官网下的比较新的驱动,鉴于很多人在平时开发STM32工程没有什么升级J-link的习惯,所以J-link软件一般都比较老,这可能会导致一些版本不兼容的情况,所以电脑的J-link驱动也需要更新,可以查看刚刚提供的官网链接。

在安装完新版的J-link之后记得还要在IDE里面更新J-link的文件,用驱动自带的DLL-updater或者手动复制都可以了。

关键字:树莓派  STM32  无线在线调试器 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic492502.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:ADB+Python+STM32 实现 微信跳一跳辅助
下一篇:stm32 usb和安卓手机的通讯过程

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

给树莓派超频
近日,Tomshardware介绍了树莓派的超频性能,通过刷新固件,博通BCM2711B0处理器主频可以从1.5GHz提高到2.147GHz,并且只需对/boot/config.txt文件中进行一些修改即可。由于采用了Pimoroni Fan Shim的主动散热风扇系统,树莓派的温度可以控制住43度闲时以及满负荷80度。为了达到该速度,您必须为Raspberry Pi下载最新的Beta级固件并进行修改配置。详细请参考https://www.tomshardware.com/news/raspberry-pi-higher-overclock,40559.html
发表于 2019-11-13
Eben Upton专访:树莓派如何改变世界
Eben Upton手握树莓派和更小的Pi Zero。七年前,Eben Upton创造了第一个树莓派。正如Upton在2015年3月IEEE Spectrum封面故事中所说,树莓派的部分开发灵感来自于他在BBC Micro家用电脑上的童年:他希望现代的孩子可以拥有一台进行类似实验的简单机器。从那时起,树莓派就已已经大受欢迎,目前推出的是树莓派4。Upton与Spectrum高级编辑Stephen Cass讨论了Pi 4的设计,其日益增长的商业用途,以及下一步计划。Stephen Cass:树莓派的用户群是如何演变的?Eben Upton:第一年我们的产品几乎完全是由业余爱好者购买的,但是你知道有许多业余爱好者也是专业的设计工程师
发表于 2019-08-28
Eben Upton专访:树莓派如何改变世界
小小树莓派,竟被黑客利用入侵了NASA系统
据外媒报道,NASA总监察长办公室(OIG)于本周发布的一份报告显示,2018年4月,有黑客攻击了他们的网络并盗走了约500M与火星任务相关的数据。攻入的切点则是一台连着NASA喷气推进实验室(JPL) IT网络的树莓派电脑。黑客偷走火星任务数据根据一份49页的OIG报告,黑客通过入侵一个共享网络网关然后利用该入口深入JPL网络,之后进入了存有NASA JPL管理的火星任务信息的网络。OIG的报告称,黑客使用了一个受攻击的外部用户系统进入了JPL任务网络。NASA OIG表示:“攻击者从23个文件中窃取了大约500MB的数据,其中2个文件包含有跟火星科学实验室任务有关的国际武器管制信息。”火星科学实验室是JPL一个负责管理火星
发表于 2019-06-26
第四代树莓派正式发布:首次4G内存、性能出众
树莓派(Raspberry Pi)基金会,今天(6月24日)正式发布了Raspberry Pi 4 Model B。树莓派是全球知名的基本计算微型电脑,深受全球开发者、编程者、极客等人士的追捧和喜爱。这一代Raspberry Pi 4 Model B开发了3年的时间,内存(RAM)终于从万年不变的1GB升级为4GB,引入USB 3.0,支持双屏4K输出,CPU和GPU的速度也更快,支持H.265解码。具体来说,树莓派4的核心处理器(SoC)为博通BCM2711(四核1.5GHz,Cortex A72架构,树莓派3是四核A53),LPDDR4内存,由5V/3A USB-C供电或GPIO 5V。外围方面,支持双频Wi-Fi、蓝牙5
发表于 2019-06-26
第四代树莓派正式发布:首次4G内存、性能出众
技术文章—教你使用树莓派控制灯
最近正在研究微控制器和基于物联网的设备安全。因此,我开始考虑建立一个小型家庭系统化系统,虽然目前还没完成,但我想先在文章中分享一下我如何使用树莓派2及一些其他电子元件来控制房间的灯光。当然,我在这里不会介绍树莓派的初始设置,因为你可以在网上发现各种各样的教程。注意事项在我们继续实验之前,我想有必要提醒一下关于实验中“电流”的危险性。一旦出现任何状况,最糟糕的情况就是死掉或者烧了你的房子。所以,请不要试图完成任何文中提到但是你不理解事情,或者你可以在制作的时候寻求一些有经验的电工的帮助。好啦,让我们开始DIY吧!实验准备硬件需求1、树莓派2(或者任何5V输出功率的型号,均可)2、USB无线软件狗3、8路继电器4、一些
发表于 2019-03-08
技术文章—教你使用树莓派控制灯
stm8l低功耗系列
最近干刚做了一个stm8的项目用的是L低功耗系列,其中遇到一个问题。外设寄存器的值怎么都写入不进去。用IAR仿真产看寄存器的值,不论写进去多少,都是初始值。后来把所有寄存器都写了一遍,发现有的能写进去,有的写不进去。比如GPIO的寄存器就能写进去。百思不得姐,偶然查看clock的库函数发现个函数是设置外设时钟的。这个系列,亦或者整个低功耗系列的每个外设是不是都需要在时钟寄存器中单独设置时钟。(以前所使用的芯片都是在外设寄存器中使能或者是禁使能)
发表于 2020-03-09
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved