现在很多项目开发都逐渐的迁移到Linux环境下。但是Linux开发单片机就没有像Windows下开发那么方便,它没有对应开发工具(KEIL,IAR等),它们自带烧录等功能。所以在Linux上开发单片机需要安装下载固件的工具--JLink。
有的时候,在调试代码的时候,往往会借助一些硬件调试工具,JTAG就是很好的调试工具。下面来详细介绍一下如何在树莓派上使用JTAG进行调试。
openocd(http://openocd.org)全名叫做Open On-Chip Debugger,是一个自由开放的片上调试工具和编程工具,目前已经发布到0.10.0版本,目前主流调试器几乎都支持,具体可以查看Open On-Chip Debugger:OpenOCD User’s Guide(http://openocd.org/doc/pdf/openocd.pdf),它的项目托管在sourceforge(https://sourceforge.net/projects/openocd)上,点击下载即可~ 注:ubuntu软件源中也有openocd,但是版本到0.9.0,所以使用拉取源码手动安装。
同样的工程和调试器,换 Win 10 系统,下载调试完美运行。两者的差别就是J-Link 的驱动程序版本问题。原来系统上的驱动程序版本是V6.32i,而现在的驱动程序是 V6.14b,所有很有可能是因为驱动程序版本过低导致的。
大早晨的调着调着程序,视线没离开一会,就发现jlink自动断开连接了,然后重新拔插jlink、重启都不行,才发现小灯已经不亮了,原来是固件损坏了,果断想办法修复这位大爷。
详细的记录JLink-V8仿真器刷固件的具体过程,照着做即可成功。持续更新,原创不易!
4. 打开SecureCRT(在资料光盘->windows工具目录),如下设置连接串口
JAR 包要在预装 JRE 环境的系统上执行。如果没有预先安装 JRE 环境,又想直接运行 Java 程序,该怎么办呢?
随着ARM公司对Cortex系列的推出,采样SWD方式调试成了大家的首选。SWD不仅速度可以与JTAG媲美,而且使用的调试线少得多。很多人在采样SWD方式进行调试时,一般都是采用4线:
说明: 1、在实际项目中,很多时候,我们需要将传感器或者ADC的数值以波形的形式显示。通常的解决办法是用串口上位机,USB接口上位机或者MDK的逻辑分析仪功能,使用这三种方式都比较繁琐。本期专题为大家讲解的J-Scope波形软件简单易用,不占用系统额外资源,无需用户写目标板代码,仅需将JLINK插上即可。 2、J-Scope波形显示软件主要有RTT和HSS两种工作方式。本期专题教程为大家讲解HSS模式的使用方法。HSS模式只需使用J-Scope加载MDK或者IAR的可执行文件即可,而且随时随地都可以连接目标板,不影响目标板的正常功能,不需要额外资源。同时可以设置上升沿,下降沿或者双沿触发。 3、大家买的D版JLINK,基本都是来自JLINK BASE,需要使用V9或者V10版本才行。而JLINK PRO或者JLINK ULTRA使用V4及其以上版本即可。 4、J-Scope专题教程的RTT模式将放在第6期专题教程做,这个模式更加实用,就是稍麻烦些,需要移植SEGGER的RTT组件,即使是普通的JLINK,速度也可以狂飙到500KB/S左右的上传速度。 5、更多相关内容和注意事项,看教程即可。
用过STm32的人都知道stm32有两种常用程序的方法,用串口和jlink。串口方法和51差不多不多说,用jlink时接口引脚太多导致接口很大,很占pcb的面积,在此我就针对这个问题清晰的讲述下jlink程序时jtag接口的简化方法!希望对大家有用。!
单片机一般使用Jlink通过SWD或者JTAG接口直接在IDE中在线调试,Linux应用程序通常是加printf输出log去调试,这种方式简单,但是有些隐藏的程序bug只通过加打印信息不那么容易定位,这时可以通过类似单片机调试的gdb调试来实现,本篇为大家介绍linux环境下在线调试环境的搭建,希望对大家有所帮助。
本章主要为大家讲解V7开发板的开发板环境搭建,涉及IDE,下载器和相关小软件的驱动安装。
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第7章 STM32H7下载和调试方法(IAR8) 本章教程为
刚到一个新公司的第一个礼拜。通过web界面更新app总是导致bios失效。又因为是接手一个离职人的项目,调试线已经找不到,所以需要自己做一个。由于自己是个菜鸡,所以做出来的东西也是比较难看,由此记录一下,希望下次能做的美观一点。
JavaFX 11 发布了,JavaFX 是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计、创建、测试、调试和部署富客户端程序,并且和 Java 一样跨平台。由于 JavaFX 库被写成了 Java API,因此 JavaFX 应用程序代码可以调用各种 Java 库中的 API,例如 JavaFX 应用程序可以使用 Java API 库来访问本地系统功能并且连接到基于服务器中间件的应用程序。JavaFX 可以自定义程序外观,CSS 将外观和样式与业务逻辑实现进行了分离,因此开发人员可以专注于编码工作。值得注意的是,从 JDK 11 开始,JavaFX 模块与 JDK 分开提供 。
以下记录描述了有关此版本的重要更改和信息。在某些情况下,该说明提供了有关问题或更改的其他详细信息的链接。
博客地址 : http://blog.csdn.net/shulianghan/article/details/42239705
本章教程为大家介绍如何通过MDK5下载程序到芯片里面以及MDK5的调试和配置方法。
趁着前段时间嘉立创和捷配打价格战,一天之内,多次降价,看着真是热闹。捷配降到最低3元一款,而嘉立创降到最低5元一款,都是顺丰包邮,不过嘉立创免颜色费,而捷配不免,本着吃瓜群众的态度,赶紧薅了一把羊毛,做毕业设计时买的元器件还剩一些,就把之前练手画的一块JlinkOB小板投出去了,之前都是用的嘉立创,这次尝试一下捷配,关键是便宜!现在价格战已经结束了,刚才又去两家的官网看了一下,捷配又恢复了30元一款,而嘉立创还是保持5元。用的是网上开源的JlinkOB方案,主控STM32F103C8T6,下载Segger官方的JlinkOB固件,用了一段时间了,还算比较稳定。现在分享给大家,包含Altium版本的PCB文件、原理图文件、固件等,下载链接在文章末尾。
之前的TWR-K64板子openSDA被同事刷成了jlink固件,估计这哥们喜欢用Jlink呵呵,如果想刷回PEmicro固件,我们该如何做呢,首先先了解下,OpenSDA是一种内置在多款恩智浦评估板中的串行调试器。它是计算机(或其他USB主机)和嵌入式目标处理器之间的桥梁,只需通过一根简单的USB线缆,便可用它进行调试、闪存编程和串行通信。OpenSDA硬件包含一个采用Kinetis® K2x微控制器的电路和一个集成式USB控制器。在软件方面,它集成了大容量存储设备引导加载程序,可以快速、轻松地加载Ope
前几天在面包板社区申请了一块uFun开发板,昨天刚到手,在烧录Demo程序的时候遇到一个问题,就是Keil打开工程,编译,报很多错误 cannot open source input file"core_cmInstr.h,然后搜索了一些资料,最后解决了这个小问题,以下是解决办法。
用于arm裸机程序开发的IDE基本有MDK,IAR,还有ADS,也可以选择在linux下安装交叉编译链来进行开发。笔者选择的是MDK作为我进行开发的IDE。下面介绍笔者搭建开发环境的过程。
最近要使用stm32f103c8t6最小系统板,直接ISP串口下载程序太麻烦,就想着使用swd接口来调试。
在上一篇文章中,我们已经可以在Eclipse成功编译工程了。对于一些传说中的大神,这也就够了,他们写完代码,编译,下载看看,不行再来两遍,OK了。但是对于像小编这样的凡夫俗子,程序不调试一下,肯定是不行地。我们来看看Eclipse中如何调试代码。在此我们以STM32F030为例。
JTAG主要使用的有:TRST,TDI,TMS,TCLK,TDO,RESET,GND,(VCC可不连接) SWD主要使用的有:VCC,SWDIO,SWCLK,GND
前面两篇文章介绍了边界扫描的基本原理和BSDL文件,本文文章介绍边界扫描测试实际使用的两款软件工具,在后面的实战应用部分,会演示基于STM32和FPGA的边界扫描测试应用。
如果您更喜欢Oracle JDK,可以下载适用于Ubuntu的二进制文件,然后安装它。可以在Oracle网站上找到JDK下载链接。
试想这样一个场景,我们新设计了一款集成了很多芯片的板卡,包括BGA封装的微控制器,如FPGA/MCU,还有LED、按键、串口、传感器、ADC等基本外设。
想要打印调试信息,发现串口不够用了,手边没有USB转TTL模块?代码自己测试好好的,屏蔽了打印信息之后,代码运行异常了,咋整?EASY!今天小飞哥教你如何让你手中的JLINK成为调试利器,10分钟搞不定,你打我~
通过strongerHuang的教程,实现了SWO的两种调试方法, 1、在keil调试的过程中,使用debug printf viewer打印信息, 2、在STM32 ST-LINK Utility中烧写程序并打印信息。
问题现象: MDK,J-Flash,IAR等无法连接芯片,有时候链接上了,但是无法下载。 注意:如果下载器线的接触不良,也会有这个问题。
说明: 1、在实际项目中,很多时候,我们需要将传感器或者ADC的数值以波形的形式显示。通常的解决办法是用串口上位机,USB接口上位机或者MDK的逻辑分析仪功能,使用这三种方式都比较繁琐。本期专题为大家讲解的J-Scope波形软件简单易用。 2、J-Scope波形显示软件主要有RTT和HSS两种工作方式。本期专题教程为大家讲解RTT模式的使用方法。RTT模式的波形显示速度非常快,而且随时随地都可以连接目标板,不影响目标板的正常功能,不需要额外资源。同时可以设置上升沿,下降沿或者双沿触发。 3、大家买的D版JLINK,基本都是来自JLINK BASE,需要使用V9或者V10版本才行。而JLINK PRO或者JLINK ULTRA使用V4及其以上版本即可。 4、J-Scope专题教程的HSS模式已经在第4期专题教程做了讲解。, 5、更多相关内容和注意事项,看教程即可。 专题教程下载:
说明: 1、串口作为经典的调试方式已经存在好多年了,缺点是需要一个专门的硬件接口。现在有了SEGGER的RTT(已经发布有几年了),无需占用系统额外的硬件资源,而且速度超快,是替代串口调试的绝佳方式。 2、RTT的API可以在中断和多任务环境中正常调用。并且JLINK处于MDK或者IAR的调试状态,RTT功能依然可以正常使用。最重要的是速度非常快,普通的JLINK也可以飙到几百KB/S。 3、当前版本的JLINK都支持此功能,含V8,V9和V10。 4、RTT Viewer小软件支持多个虚拟端口消息展示,比如用户可以一个用于标准输出,一个用于错误输出,另一个用于调试输出。根据需要还可以再增加输出窗口。
工厂使用j-flash工具进行烧录,发现烧录后的数据和发布的hex文件数据对应不上,经过深入对比和分析,初步确定在j-flash界面上编辑了烧录的数据造成的错误。
stm32下载程序,实用JLink的JTAG下载座,分为实现JTAG的下载和SW的下载
作者 | Karsten Silz 译者 | 张卫滨 策划 | 丁晓昀 Leyden 项目的目标是“解决 Java 启动时间慢、达到性能峰值慢和占用空间大等长期痛点问题”。它想通过在 OpenJDK 中“引入静态镜像的概念”来实现这一目标。静态镜像来自于对原生可执行文件的提前(Ahead-of-Time,AOT)编译。在两年没有公开的活动之后,Leyden 项目在 2022 年 5 月改变了方向,首先优化即时(Just-in-Time,JIT)编译。由此产生的优化几乎肯定要比最初计划的要弱,它最早会在 20
安装 gcc-arm-none-eabi-5_4-2016q3-20160926-win32(这只是当时我配置时候用的版本,其他版本也是可以的) 记得最后的第3选项打钩,因为自动添加环境变量( 估计是因为自动添加,所以会添加到用户的环境变量下面去,一样可以用,如果自己添加,可以添加到系统的环境变量中去 ) 最后,只要是在你的终端(终端可以使window自带的cmd,也可以是你配置过的模拟linux的终端) ,能够查询到arm gcc的版本,就算是正常安装了,如下所示:
实现方法很简单,使用一个计数器一直计数,然后和两个值进行比较,一个值是高电平时间htime,一个值是周期period,在小于htime期间,输出高电平;大于h_time期间,输出低电平,到达周期period时,计数器清零。
上一篇文章,介绍了基于STM32F103的JTAG边界扫描应用,演示了TopJTAG Probe软件的应用,以及边界扫描的基本功能。本文介绍基于Xilinx FPGA的边界扫描应用,两者几乎是一样。
为了分发一个springboot项目,在不考虑目标机器是否有jre的情况下,携带一个jre环境是一个选择。本文就尝试从原生的jdk 9.0.1 精简一个jre供分发。
在邻接表中,容易求得顶点和边的各种信息,但在邻接表中求两个顶点之间是否存在边,或需要对边执行删除等操作时,需要分别在两个顶点的边表中遍历,效率较低。
stlink能干什么? 最基本的功能:下载程序。 一般STM32支持ISP串口下载,也支持stlink、jlink等下载器下载 。 使用stlink、jlink下载要比串口方便很多,在keil里直接点击下载就行了,不需要去选择hex文件,速度上要快很多,主要一点,jlink、stlink能实现硬件仿真调试,程序出问题了可以单步调试找问题。
Jlink-OB正面J link-OB背面
看过小刀最近朋友圈的小伙伴应该都知道, 最近小刀在写一个桌面的工具包, 可以连k8s, 可以做图床等等, 其中用到的技术栈就是 jdk14+javaFX.
最近在试用uFUN开发板,下载配套的Demo程序,串口数据输出正常,当使用另一个模板工程,调用串口printf调试功能时,输出的却是乱码,最后发现是外部晶振频率不一样。很多STM32开发板都是使用的8M晶振,这个也是ST官方推荐的晶振频率,而且固件库默认是8M频率,倍频系数9。而uFUN开发板的晶振是和CH340共用一个12M晶振。如果固件库的参数不和硬件实际连接的晶振频率一致,那么不仅是串口会出现乱码,而且定时器这些也是不准确的,因为基本的工作时钟被打乱了。其实之前也遇到过这个问题,这次就算是记录一下吧!
三星S3C6410的底板Jtag接口是10针,而普通的Jlink的接口是20针。因此就需要接口转换,下面给出相关引脚接口图:
前段时间接到一个Ripple 20漏洞研究的任务,配套的设备为DIGI开发板,在研究过程中发生了悲剧的一幕——开发板变砖,为了能够继续顺利进行研究于是决定一定要解救DIGI开发板,本文将救砖的过程进行讲解分享,以供更多的人参考、获取灵感动手救助自己成砖的设备。
如果您使用基于JVM的语言(Java、Kotlin、Scala等)已有一段时间,你可能已经注意到,从Java 11开始,Java运行时环境(JRE)不再有单独的发行版。由于这一决定,许多Java开发工具包(JDK)Docker镜像分发商(例如:OpenJDK、Amazon Correto等)不提供JRE作为单独的Docker镜像,使用这些镜像整体Docker镜像大小约为360MB,而实际应用程序Jar包大小约为26MB。在我看来,整个Docker镜像的大小太大了,应用减小它,以便为每个将使用该Docker镜像的人节省空间和网络带宽。现在,让我们看看如何大幅减小Docker镜像的大小。
领取专属 10元无门槛券
手把手带您无忧上云