Jlink 调试
Jlink调试mini2440
JLINK调试友善之臂mini2440/micro2440一、准备工作1、USB线连接JLINK V8;2、将JLINK上的JTAG线连接到mini2440/micro2440开发板;3、将mini2440/micro2440开发板的启动模式(开关S2)切换到norflash启动模式;4、连接直连串口线;5、打开超级终端;6、打开电源开关。
二、调试步骤如下:1、打开J-Link GDB Server软件,软件打开后提示如下信息,则表示连接成功。
2、打开目录F:\ARMprj\mini2440\myled下的myled工程文件,该文件是ADS1.2下开发。
初始化文件库文件库文件包含头文件主函数,也就是我们要修改的3、编译文件,点击Project->make选项或者直接单击快捷方式编译单击编译快捷方式编译调试信息:0 表示没有错误,如果提示错误信息,程序上有问题1表示警告,这个一般没关系2表示显示信息4、在程序编译没有问题后,下一步就要进入调试了,单击菜单Project->Debug 或者单击进入调试界面,在AXD界面,单击菜单Options->Configure Target...,弹出如下界面:1、选中…\jlinkARM_v412\jlinkRDI.dll2、单击Configure按钮,对JLINK进行配置5、对JLINK进行配置,打开Init选项把2440的配置文件加载进来,该文件位于E:\J-link\脚本文件\s3c2440.setup下,如图所示:5、单击菜单Target->Connet ,连接开发板开始装载工程文件,如图所示:单击按钮,将2440配置加载进来 记得勾选 完成以上步骤后,点确认退出单击OK 退出6、加载工程成功后,单击菜单Execute->Go 或单击按钮,全速运行,一般主函数入口地址都设有断点,全速运行可以直接进入到主函数里,如图所示:提示找到CPU 内核和ID 号7、至此JLINK调试mini2440/Micro2440完成。
JLINK下的程序下载与调试
JLink下载与调试本教程以下载与调试STM32芯片为例,简单说下在MDK平台上用JLINK下载与调试时配置的步骤JLINK V9 可支持JTAG和SWD两种调试模式,(这里需要声明一下,高压隔离的有多种组合调试模式,具体以购买时可支持的调试模式为准)同时STM32也支持JTAG 和SWD。
所以,我们有2种方式可以用来调试,当用JTAG调试的时候,占用的IO线比较多,而SWD 调试的时候占用的IO 线只需要两根即可。
1、连线:在硬件上,把JLINK用USB线连接到电脑USB和板子的JTAG接口上。
2、安装驱动:在完成第一步后,右击我的电脑图标选择属性,然后点击设备管理器,在设备管理器中点击显示未知设备,然后找到JLINK V9驱动下载路径,点击安装即可。
3、配置JLINK的一些参数:(1)、打开MDK平台,在IDE 里面点击即打开Options for Target 选项卡确定Target 选项如图图1所示(主要检查芯片型号和晶振频率,其他的一般默认就可以)图1(2)、在Debug 栏选择仿真工具为J-LINK/J-TRACE Cortex,如图图2所示:图2上图中我们还勾选了Run to main() ,该选项选中后,只要点击仿真就会直接运行到main函数,如果没选择这个选项,则会先执行startup_stm32f10x_hd.s 文件的Reset_Handler ,再跳到main函数。
(3)、然后点击Settings,配置J-LINK调试模式。
图3图3中,我们使用J-LINK V9 的SW 模式调试,Max Clock选项可以点击Auto Clk 来自动设置,图3中我们设置SWD 的调试速度为10Mhz,这里,如果你的USB 数据线比较差,那么可能会出问题,此时,你可以通过降低这里的速率来试试。
单击确定。
(4)、在Utilities 选项卡里面设置下载时的目标编程器,如图图4所示:图4图4中,我们直接勾选Use Debug Driver ,即和调试一样,选择JLINK来给目标器件的FLASH 编程,(5)、然后点击Settings按钮,进入FLASH算法设置,设置如图图5所示:图5这里MDK会根据我们新建工程时选择的目标器件,自动设置flash 算法。
jlinkpylink用法
jlinkpylink用法JLink和PyLink是两种常用的软件包,用于在Python中与JTAG接口的设备进行通信。
JLink是一种硬件工具,由SEGGER公司提供,用于与各种处理器和微控制器进行调试和仿真。
PyLink是由JLink提供的Python接口,可以通过Python脚本与JLink进行通信。
下面是JLink和PyLink的使用方法的详细解释:1. 安装JLink软件包:2. 连接JLink硬件:将JLink调试器通过USB连接到计算机上。
确保JLink调试器的电源正常,设备也正确连接到目标设备的JTAG接口。
3. 编写Python脚本:导入PyLink软件包,并创建一个PyLink实例:```pythonimport pylink```4.设置目标设备:使用`open(`方法打开和连接到目标设备。
您需要提供目标设备的名称或ID。
例如,要连接到一个ARM Cortex-M微控制器,可以使用以下代码:```python```5.进行调试操作:一旦连接到目标设备,您可以执行各种调试操作。
以下是一些示例:-读写寄存器:```pythonvalue = jlink.read_reg(0x1000) # 读取地址0x1000处的寄存器值```-读写内存:```pythondata = jlink.read_mem(0x2000, 16) # 从地址0x2000开始读取16个字节的数据```-设置断点:```python```6.关闭连接:使用`close(`方法关闭与目标设备的连接:```python```以上是使用JLink和PyLink进行调试和仿真的基础用法。
您还可以通过PyLink软件包执行更多高级操作,如跟踪、性能分析和固件更新等。
详细的用法和功能可以在SEGGER公司的官方文档中找到。
IAR下用JLINK调试STM32心得
IAR下用JLINK调试STM32心得IAR开发环境下使用JLINK来调试STM32芯片是一种常见的调试方法。
以下是我在实际使用中总结的一些经验和心得。
首先,在使用JLINK进行调试之前,我们需要按照JLINK提供的说明书正确连接好硬件设备。
通常,我们需要将JLINK与STM32芯片之间连接好,并确保连接的正确性。
此外,我们还需将JTAG/SWD接口正确地连接到STM32的相应引脚上。
接下来,在IAR环境下进行配置。
在打开IAR工程之前,我们需要确保IAR和JLINK驱动软件已经正确地安装到电脑上。
然后,我们可以打开IAR并打开相关的工程文件,然后进入调试模式。
在调试模式下,我们需要在IAR的"Options"菜单中选择"Debugger"选项。
在"Driver"栏中,我们需要选择使用JLINK进行调试。
在"Setup"选项卡下,我们可以进一步配置JLINK的一些参数,比如连接速度和复位方式等。
根据实际需求,我们可以对这些参数进行相应的调整。
在调试过程中,我们可以使用IAR提供的各种调试工具来观察和分析程序的运行状态。
比如,我们可以使用"Watch"窗口来监视变量的值,或者使用"Memory"窗口来查看内存的内容等。
此外,我们还可以使用"Breakpoints"来设置断点,使程序在特定的位置停止执行,方便我们进行代码的调试和分析。
从实践中,我发现在使用JLINK调试STM32时,一些常见的问题可能会出现。
比如,由于硬件连接出错或者参数配置不当,导致与JLINK的连接失败。
此时,我们需要仔细检查硬件连接,并重新配置JLINK的参数。
另外,有时候程序可能会卡死或者出现异常,导致调试失败。
这时,我们可以使用IAR提供的复位工具来重新启动STM32芯片,然后重新开始调试。
ads+jlink和keil+jlink调试环境配置 .
ads1.2 and jlinkv81.安装ads1.2和jlink驱动Setup_JLinkARM_V408i.exe安装ads1.2时,最后在100%时如果持续时间长,耐心等一下吧。
没有等待而点了cancel,则之后就不好重装了。
2.将线连好:pc的usb口连到jlink的usb口,jlink的jtag口连到板子的jtag口。
由于我的jlink的jtag口20pin而板子jtag口10pin,所以中间用一个转接小板转接了一下将板子的flash开关在nor或nand均可,将板子上电,在开始里打开jlink gdb server,应该会出现下图,恩,jlink没坏3.确保TQ2440_Test工程的路径中不存在中文,/detail/songqqnew/3636198在TQ2440_Test中双击TQ2440_Test.mcp,出现点击debug,弹出axd窗口如下,(貌似还弹出了load session的窗口,关闭了就行)4.在axd中点击configure target弹出下图add 一个文件JLinkRDI.dll,默认在C:\Program Files\SEGGER\JLinkARM_V408i,添加后如下图然后点configure,然后在弹出的窗口中点确定,然后点OK5.在axd中点击configure interface,弹出串口,在session file标签页配置script脚本文件init_sdram.txt,路径中不要中文init_sdram.txt内容如下[cpp]view plaincopyprint?1.Setmem 0x53000000 0x00000000 322.Setmem 0x4A000008 0xFFFFFFFF 323.Setmem 0x4A00001C 0x000007FF 324.Setmem 0x53000000 0x00000000 325.Setmem 0x56000050 0x000055AA 326.Setmem 0x4C000014 0x00000007 327.Setmem 0x4C000000 0x00FFFFFF 328.Setmem 0x4C000004 0x00061012 329.Setmem 0x4C000008 0x00040042 3210.Setmem 0x48000000 0x22111120 3211.Setmem 0x48000004 0x00002F50 3212.Setmem 0x48000008 0x00000700 3213.Setmem 0x4800000C 0x00000700 3214.Setmem 0x48000010 0x00000700 3215.Setmem 0x48000014 0x00000700 3216.Setmem 0x48000018 0x0007FFFC 3217.Setmem 0x4800001C 0x00018005 3218.Setmem 0x48000020 0x00018005 3219.Setmem 0x48000024 0x008E0459 3220.Setmem 0x48000028 0x00000032 3221.Setmem 0x4800002C 0x00000030 3222.Setmem 0x48000030 0x00000030 32然后确定,然后关闭axd,6.然后在ads中再次点击debug,如果此时弹出的画面是如下,就再次执行一下第4 5步,貌似因为之前的配置没被保存7.然后在ads中再次点击debug,如果此次弹出的画面如下,即要求定位到2440init.s文件,那就找到到ads工程源码中的这个文件,点击打开点击打开之后,应该就可以出现以下窗口接下来点击go或按F5 等调试就可以了在操作过程中,点击debug后如果又出现一些问题,那么就执行一下configure interface 或configure target/**************************************************************************************************** *******************************************************************/keil4 and jlinkv81.安装keil4 和jlink驱动Setup_JLinkARM_V408i.exe2.打开keil4,新建一个工程,名为test3.在接下来的框中选择samsung的s3c2440a芯片,如下4.在接下来的框中选择是,使用官方启动脚本,如下5.配置板子target:debug:Ext_RAM.ini是手动在工程目录建立的文件,其内容如下[cpp]view plaincopyprint?1./******************************************************************************/2./* Ext_RAM.INI: External RAM (SDRAM) Initialization File*/3./******************************************************************************/4.// <<< Use Configuration Wizard in Context Menu >>>//5./******************************************************************************/6./* This file is part of the uVision/ARM development tools.*/7./* Copyright (c) 2005-2008 Keil Software. All rights reserved.*/8./* This software may only be used under the terms of a valid, current,*/9./* end user licence from KEIL for a compatible version of KEIL software */10./* development tools. Nothing else gives you the right to use this software. */11./******************************************************************************/12.13.14.FUNC void SetupForStart (void) {15.16.// <o> Program Entry Point17. PC = 0x30000000;18.}19.20.21.FUNC void Init (void) {22.23. _WDWORD(0x4A000008, 0xFFFFFFFF); // Disable All Interrupts24.25. _WDWORD(0x53000000, 0x00000000); // Disable Watchdog Timer26.27. // Clock Setup28. // FCLK = 300 MHz, HCLK = 100MHz, PCLK = 50 MHz29. _WDWORD(0x4C000000, 0x0FFF0FFF); // LOCKTIME30. _WDWORD(0x4C000014, 0x0000000F); // CLKDIVN31. _WDWORD(0x4C000004, 0x00043011); // MPLLCON32. _WDWORD(0x4C000008, 0x00038021); // UPLLCON33. _WDWORD(0x4C00000C, 0x001FFFF0); // CLKCON34.35. // Memory Controller Setup forSDRAM36. _WDWORD(0x48000000, 0x22000000); // BWSCON37. _WDWORD(0x4800001C, 0x00018005); // BANKCON638. _WDWORD(0x48000020, 0x00018005); // BANKCON739. _WDWORD(0x48000024, 0x008404F3); // REFRESH40. _WDWORD(0x48000028, 0x00000032); // BANKSIZE41. _WDWORD(0x4800002C, 0x00000020); // MRSRB642. _WDWORD(0x48000030, 0x00000020); // MRSRB743.44. _WDWORD(0x56000000, 0x000003FF); // GPACON: Enable Address lines for SDRAM45.}46.47.48.// Reset chip with watchdog, because nRST line is routed on hardware in a way49.// that it can not be pulled low with ULINK50.51._WDWORD(0x40000000, 0xEAFFFFFE); // Load RAM addr 0 with branchto itself52.CPSR = 0x000000D3; // Disable interrupts53.PC = 0x40000000; // Position PC to start of RAM54._WDWORD(0x53000000, 0x00000021); // Enable Watchdog55.g, 0 // Wait for Watchdog to resetchip56.57.Init(); // Initialize memory58.LOAD .\test.axf INCREMENTAL // Download program59.SetupForStart(); // Setup for Running60.g, main // Goto Main上面倒数第三行是需要改动的,在本例中是test.axf。
jlink的使用方法
jlink的使用方法摘要:一、JLink简介二、JLink的安装与配置1.安装步骤2.配置方法三、JLink的使用方法1.连接设备2.烧写固件3.调试代码4.监控运行状态四、JLink的高级功能1.断点调试2.数据观察3.性能分析五、JLink的优缺点1.优点2.缺点六、总结与建议正文:一、JLink简介JLink是一款由SEGGER公司推出的硬件调试工具,广泛应用于嵌入式系统的开发与调试。
它支持多种处理器架构,如ARM、MIPS、AVR、STM32等,为开发者提供了便捷的编程与调试解决方案。
二、JLink的安装与配置1.安装步骤JLink的安装过程相对简单,只需遵循以下步骤:(1)下载JLink软件及驱动程序。
(2)安装JLink软件。
(3)根据设备类型及操作系统安装对应的驱动程序。
2.配置方法(1)打开JLink软件,设置目标设备型号、操作系统、调试器型号等参数。
(2)配置调试串口号、波特率等通信设置。
(3)连接设备并验证连接。
三、JLink的使用方法1.连接设备将JLink连接到目标设备,确保设备上电。
在JLink软件中配置好设备参数后,点击“Connect”按钮建立连接。
2.烧写固件在JLink软件中选择固件文件,点击“Download”按钮进行烧写。
烧写完成后,设备将自动重启。
3.调试代码在JLink软件中打开调试器,设置断点、监视变量等参数。
然后点击“Run”按钮,即可开始调试代码。
4.监控运行状态在调试过程中,可通过JLink观察运行状态、实时数据、内存使用情况等。
此外,还可使用JLink进行性能分析,找出代码中的瓶颈。
四、JLink的高级功能1.断点调试JLink支持断点调试,可以帮助开发者定位代码问题。
设置断点后,程序运行到断点位置时会自动暂停,方便进行调试。
2.数据观察JLink可以实时观察变量值、寄存器值等数据,便于分析程序运行状态。
3.性能分析JLink提供性能分析功能,可统计代码执行次数、执行时间等,帮助开发者优化代码。
用J-Link调试S3C6410(2) --- 运行Leds程序
用J-Link调试S3C6410(2) --- 运行Leds程序在开发板已经联通后,下一步就是运行程序了,首先使用mini6410 官方提供的leds程序,由ADS编译/read.php?tid-6895.html按其提供方法将其拷入SD卡中可以看到LED的变化。
证明代码工作正常.但每次编译后拷入SD卡,拨下再插入开发板启动,这样方法实现很麻烦。
因此必须要找一个在线调试方法第一次调试----------------------------------------------------------------J-Link提供一个J-Link的GDB Server,可以提供GDB 的远程接口,可以与交叉调试的GDB 进行网络交互进行调试。
而RVDS 安装后,会自带一个arm-none-eabi-gdb在RVCT的目录下。
WINDOWS版本可以直接在DOS窗下运行它.一般的嵌入式LINUX比较熟悉GDB交叉调试技术,它类似如下结构而J-Link GDBServer在这里模拟上述环境里的gdbserver的地位。
它是如下的架构因此我们采用如下命令来调试。
首先进入开发板的u-boot模式即在开发板启动时在串口终端长按回车键,按q进入u-boot 控制台连好线后,启动J-Link GDB Server.可以看到它会在本地的TCP 2331端,侦听arm-linux-gdb的调试请求.在dos命令窗口,启动arm-none-aeabi-gdb.在gdb提示符下输入联接远程gdbserver的命令target remotetarget remote <IP>:<port>这里输入target remote 127.0.0.1:2331当两者联接上后,两个界面均提示联接成功状态执行装入程序命令 load xxxx.axf,其中装入位置是是axf链接时指定的 ro_base位置. 装入调试程序符号表 file xxxx.axf.这里的文件名可以采用绝对路径或相对路径。
建工程模块、jlink调试
1.用mcuisp下载程序:注意点:下拉框选项选为第四项,DTR的低电平复位,RTS高电平进BootLoaderTip:此时可以直接打开串口调试助手XCOM,其便会自动监测串口情况2.用Jlink下载:在Options for Target选项中:Debug、Utilities选项中要选中用Jlink连接,并进行相关设置tip:在Debug中选了硬件仿真后,便能点击调试按钮,进行硬件仿真---------------------------------------------------------------------------------------3.库函数版本新建工程模块步骤:(1)建一主文件夹,并另外建5个字文件夹:CORE:用来装ARM公司提供的core_cm3源文件、头文件及相应的启动代码HARDWARE(视情况看要不要做成库函数):用来装自己写的用于控制外设的应用函数及头文件OBJ:用来装编译过程生成的文件及HEX文件(要在自己设置过程存在此文件夹)STM32F10X_FWLIB:用来装ST公司提供的固件库函数及其头文件USER:用来装主程序文件-----------问题:从ST公司给的例程和启动代码文件夹中拷贝过来的是神马东西(2)建立工程,并用Manage Components 工具关联相应文件夹及文件(3)在Options for Target->C/C++选项中的Include Path中把自己写的要用到的头文件连接进来(4)在Options for Target->C/C++选项中Preprocessor Symbols框中声明宏定义:STM32F10X_HD,USE_STDPERIPH_DRIVER---------------------------------------------------------------------------------------------4.寄存器版本新建工程模块步骤:(1)建一主文件夹,并另外建4个字文件夹:HARDWARE(视情况看要不要做成库函数):用来装自己写的用于控制外设的应用函数及头文件OBJ:用来装编译过程生成的文件及HEX文件(要在自己设置过程存在此文件夹)SYSTEM:用来装自己编写的初始化CPU的函数及其头文件、一些常用的函数及其头文件USER:用来装主程序文件(2)在Options for Target->C/C++选项中的Include Path中把自己写的要用到的头文件连接进来(3)在Options for Target->C/C++选项中Preprocessor Symbols框中声明宏定义:STM32F10X_HD,USE_STDPERIPH_DRIVER(4)注意点:在用编译器提供的启动文件时,要把启动文件中的Reset_Handler,从IMPORT SystemInit 开始的三行去掉。
如何使用 Jlink 调试Mini IMU
如何使用Jink 调试 Mini IMU为了方便用户调试姿态解算程序,Mini IMU 提供了SWD 调试接口。
它只需要4个引脚就可以仿真和调试STM32F 的程序。
以下是接口的定义Mini IMU 的SWD 调试接口U U A R 电源极负极+电源正5LEDJlink 仿真器的接口SWD Jlink 仿真器J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。
配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11内核芯片的仿真,通过RDI接口和各集成开发环境无缝连接,操作方便、连接方便、简单易学,是学习开发ARM最好最实用的开发工具。
Jlink 是分版本的,只有Jlink V6 或者更高版本的Jlink 才支持SWD 接口目前市面上的大都是Jlink V8版本,这是完美支持SWD 调试的注意:SWD 数据SWD 时钟目标板电压目标板GND只需连接其中一个就可Mini Jlink 与模块的连线图如下Mini Jlink 的应用Mini Jlink 功能:1.支持SWD调试,支持STM32F系列单片机的仿真2.只需要三条线,就可以进行芯片的下载程序和仿真操作 大大减少IO连接3.兼容 JLink的SWD调试部分。
特别提示:Mini Jlink 并不向目标板提供电源,在编程和仿真时,目标板必须自行连接电源Jlink 与 Mini IMU 的SWD接口连接MDK 软件的调试设置在此,我们以开篇第一个工程为例,讲解如何使用Jlink调试 Mini IMU。
1.打开之前创建的工程经过以上的设置,Jlink已经可以和MDK相认了。
下载程序:在程序编译完成后,如果没有错误。
那么就可以将程序下载到目标芯片中运行了。
由于我们设置了当下载完成后立即运行程序。
在出现 Application running ... 之后,程序就已经在目标芯片中运行看看运行效果吧、开启仿真!----仿真的概念其实使用非常广,最终的含义就是使用可控的手段来模仿真实的情况。
JLINK调试问题总结
JLINK调试问题总结/kuangdoushi/article/details/400731332014由于学习/9mcubbs/forum.php?mod=viewthread&tid=1005681"class="relatedlink">STM32也不久,经常遇到⼀些编译调试的错误,但是⽼是找不到原因,多亏⾝边⼤侠的帮忙才得以解决。
因此,将之前遇到的⼀些错误进⾏总结,⽅便以后⾃⼰查看,也希望能满⾜某些有需要的同⾏的需求。
如果⼤家也有相关的经验,希望能写出来供⼤家分享。
在此先谢谢啦!⼀、JILINK下载程序时,出现“ FLASH timeout,Reset the Target and try it again ”错误遇到这个问题,要检测TARGET选择的芯⽚型号与你使⽤的芯⽚型号是否⼀致。
我遇到过这个问题,就是因为我两个芯⽚型号不⼀致所引起的。
具体错误如下所⽰:具体的修改过程如下所⽰: 1、⾸先确定芯⽚的型号,如下所⽰: 2、芯⽚型号选择好之后,接下来就需要选择下载器,我⽤的是JLINK,如下图所⽰。
0abbd9ba40a2d11e7fede4ac037555e8_204.jpg3、选择合适的FLASH算法配置。
6edc517842679c658183fe969e7b9c34_18.jpg添加新的FLASH配置之后,将之前的FLASH配置删去,如下图所⽰。
c530208b6c9b4542329fcf0f1e32ec8d_918.jpg4、保存配置,重新编译之后就可以下载了。
⼆、JLINK在调试时出现“could not stop cortex-M device,please check the JTAG cable”查看了多位⽹友的帖⼦,有以下⼏个原因(不⼀定都对呦):1、可能是因为将处理器的复位脚直接连接到GND,所以,没有复位信号来使MCU停⽌。
详解STM32开发板JLINK调试步骤
6、烧录成功后,按下学习板上的 RST 按键(学习板最右边的那个按键), 这时候 4 个 LED(LED1-LED4)会点亮,说明程序烧录成功,焊接的 LED 电路也正确。
详解 STM32 开发板 JLINK 调试步骤
STM接,跳线 J4 的右边两个脚短接,跳线 J5 短接,J8 短接,J2 的 1-2 短接,3-4 短接。 将 Jlink 与学习板,USB 延长线与学习板,串口延长线与学习板(或者 USB 转串口线与学习板)连接起来, 这时 LED 灯 LED5,LED6 都应该点亮,如果不亮,说明板子有问题。 打开串口助手,按照如下设置: 1、从桌面打开 J-Flash ARM V4.02 如图所示。 也可以按照如下顺序打开 J-Flash ARM 。 “开始 à 程序 àSEGGERàJ-Link ARM V4.02àJ-Flash ARM”,如下图所示。
2、打开 J-Flash ARM 后,先进行芯片选项设置,打开 OptionsàProject settings 如下图所示。 出现如下图所示的窗口,按照图中所示步骤进行设置 设置完成后,点击“确定”,保存设置。 3、选择烧录文件。点击 FileàOpen,如下图所示, 出现如下窗口, 按照下面图中提示操作, 随后会显示打开的文件,如下图所示 4、如果是第一次连接 jlink 与学习板,则按照下面图示操作 如果不是第一次连接学习板,则按下面图示操作 连接成功后,会有如下提示,否则说明板子与 jlink 之间连接有问题 5、烧录程序,按照下图所示操作
STM32Jlink调试总结
STM32Jlink调试总结Cepark Jlink调试总结Wkuang 2011-7-9 上周三,电子园老李给我打电话,看我有没有时间调试下电子园的Jlink。
我回答没问题,最近比较闲一点。
周一就收到电子园老李给我发过来Jlink套件包裹,打开一看,里面东西真不少,有51,avr最小系统套件,USB转串口套件,一个成品USB转串口,一个烙铁。
老李说用这些东西来给我练手用,呵呵。
在这里先谢谢电子园。
说说Jlink调试吧,周四,我把PCB带到公司,首先检测一下几个电源和地有没有短路的情况,板子电源和地都正常。
第一次焊接QFP64器件时,芯片引脚处的焊锡就黏在一块不流动,我把温度调到400读都不行,没办法只能换换个位子换到另外一个焊台去。
不换不知道,一换吓一跳啊,新换的焊台非常给力,五分钟把两个贴片芯片搞定(后来才知道我用的第一个焊台是坏的),其他的事情留到周六来办。
周六开始Jlink的调试,首先把Jlink的最小系统焊接完后(焊接过程请看我的另外一个帖子《Jlink焊接调试一些小经验》),ERASE 跳线帽短路5s,擦除芯片,TST跳线帽短路20,芯片自动少些Boot。
重新上电,at90sam7s64最小系统正常工作了,设备管理器上出现图1所示USB设备。
图1最小系统工作正常,在将其他电容电阻焊接完毕,在测试,出现了一下几个问题:问题1:打开Segger的GDB Server,后提示以下错误WARNING: Out of sync , resynchronising...WARNING: Out of sync , resynchronising...WARNING: Out of sync , resynchronising...Can not connect to J-Link via USB.J-Link>问题1解决方法:在网上搜了很多久(网络不给力,打开一个网页要几分钟),发现这是Segger Jlink软件的一个bug,以下是官方的答复SEGGER - AlexSuper ModeratorHi,the problem has been fixed in V4.20d which is planned to be released today.Best regards问题2我打开MDK,进入仿真器调试模式,选择Jlink,开始调试,出现如下警告界面,TCK 必须为高电平,让我检测我的目标板问题2解决方法:这个问题让我很纳闷,因为我开发板没有问题,这个Jlink的警告是让我检测开发板的硬件。
jlink的使用方法
jlink的使用方法JLink是Segger公司开发的一款用于嵌入式系统的调试和仿真工具。
它是一种硬件和软件的解决方案,可用于调试和烧录各类微控制器,如ARM和Cortex-M系列。
在本文中,我将详细介绍JLink的使用方法,并提供一些常见问题的解决方案。
一、JLink的配置要使用JLink进行调试和仿真,首先需要进行一些基本的配置。
以下是配置JLink所需的步骤:1.安装JLink软件和驱动程序:在Segger官方网站上下载JLink软件并进行安装。
安装完成后,选择适合您的操作系统的驱动程序进行安装。
2.连接JLink调试器:将JLink调试器连接到电脑的USB接口上。
在连接之前,确保JLink调试器已插入目标设备上的JTAG或SWD接口。
3.配置调试选项:打开JLink软件,并选择目标设备的型号和调试接口类型。
您可以在菜单栏上的“文件”选项中找到这些选项。
4.配置调试连接:选择正确的调试连接选项,如JTAG或SWD。
您还可以选择连接速度和其他调试选项。
5.配置目标设备:选择目标设备的工作电压、频率等参数。
这些参数应与目标设备的规格书相匹配。
通过上述步骤配置JLink之后,您就可以开始使用JLink进行调试和仿真。
二、JLink的调试功能JLink具有强大的调试功能,可以帮助开发人员诊断和解决嵌入式系统中的问题。
以下是一些常见的JLink调试功能:1.断点调试:使用JLink可以设置断点,在程序执行到特定的代码行时暂停执行,以便开发人员检查程序状态和变量值。
2.单步调试:JLink支持单步调试功能,可以逐条执行程序,并在每个代码行上暂停执行,以便开发人员检查程序的执行流程。
3.变量监视:JLink可以监视变量的值,以便开发人员可以实时查看变量的值,并在程序运行时进行调试。
4.内存查看:JLink可以查看目标设备的内存内容,包括程序代码、数据和堆栈信息等。
这对于分析内存泄漏和其他相关问题非常有帮助。
jlink pylink用法
JLink和PyLink用法1. 介绍JLink和PyLink是两种常用的调试工具,用于与嵌入式系统进行通信和调试。
JLink是由Segger公司开发的一款硬件调试器,支持多种接口(如JTAG、SWD 等),可以连接到目标设备的调试接口,提供调试和烧录功能。
PyLink则是基于Python语言的开源库,可以通过JLink硬件调试器与目标设备进行通信,提供了一系列的API和工具,方便开发人员进行调试和测试。
2. JLink的使用2.1 安装JLink驱动在使用JLink之前,需要先安装JLink驱动程序。
可以从Segger官网下载适用于自己操作系统的驱动程序,并按照提示进行安装。
2.2 连接JLink调试器与目标设备使用JLink调试器进行调试之前,需要将JLink调试器与目标设备进行连接。
常用的连接方式有两种:JTAG和SWD。
•JTAG连接:将JLink调试器的JTAG接口与目标设备的JTAG接口相连,通过JTAG接口进行调试和烧录操作。
这种连接方式适用于具有JTAG接口的目标设备。
•SWD连接:将JLink调试器的SWD接口与目标设备的SWD接口相连,通过SWD接口进行调试和烧录操作。
这种连接方式适用于具有SWD接口的目标设备,通常是使用ARM Cortex-M系列处理器的设备。
2.3 使用JLink Commander进行调试JLink提供了一个命令行工具JLink Commander,可以用于对目标设备进行调试和烧录操作。
以下是一些常用的JLink Commander命令:•connect:连接到目标设备。
•halt:停止目标设备的运行。
•reset:复位目标设备。
•loadfile:加载一个二进制文件到目标设备的内存中。
•r:读取目标设备的寄存器值。
•w:写入值到目标设备的寄存器中。
•g:运行目标设备。
•q:退出JLink Commander。
2.4 使用JLink与IDE集成JLink还可以与各种IDE(集成开发环境)进行集成,方便开发人员进行调试和烧录操作。
JLINK在ADS下调试心得
JLINK在ADS下调试心得前两天一个客户用jlink在ADS来调试LPC2148总报错,这个错误我之前在调试LPC2200的时候也碰到过,后来在醇酒兄的指导下问题解决了,在这谢谢醇酒兄。
发贴和大家分享一下。
1、在AXD下添加JLINK选择Options下面的Config T arget,如下图所示:JLINK_ADS_1.jpg单击Add按钮,添加jlinkRDI.dll(确保你已经安装了segger公司提供的驱动程序,本说明安装的为3.80a),如下图所示:JLINK_ADS_2.jpg添加完成后,如下图所示:JLINK_ADS_3.jpg2、配置JLINK接上面,添加完成后,点击Configure,出现JLINK设置对话框,我们这里主要是选择我们要调试的处理器,如下图所示:JLINK_ADS_4.jpg选择完成后,点击确定完成设置。
如果JLINK已经和开发板连接好,并上电后,log信息里面会出现JLINK连接处理器的信息,如下图所示:JLINK_ADS_5.jpg3、调试添加JLINK并配置完成后,即可开始调试。
开始调试后,一旦我们单步或者设置断点调试,我们会碰到这样的问题,如下图所示:JLINK_ADS_6.jpg结果无法调试,要解决这个问题,我们需要修改下ADS的设置,选择Options下面的Configure Processor,如下图所示:JLINK_ADS_7.jpg出现如下所示对话框:JLINK_ADS_8.jpg将Semihosting前面的勾去掉即可解决问题,如下图所示:JLINK_ADS_9.jpg点击OK,退出AXD,重新Debug,这次就可以任意单步或者设置断点了JLINK_ADS_12.jpg。
jlink操作规程
jlink操作规程JLink是一款由Segger公司开发的硬件仿真器,用于连接和调试嵌入式设备。
通过JLink,开发人员可以实时调试和下载固件到目标设备上。
为了能够正确使用JLink进行开发,以下是JLink操作规程的一些必要步骤和注意事项。
1. 安装JLink驱动程序:在使用JLink之前,首先需要安装JLink驱动程序。
驱动程序可以从Segger的官方网站下载。
安装驱动程序后,JLink才能与计算机正确通信。
2. 连接JLink与目标设备:使用USB线将JLink与计算机相连。
然后,使用JTAG 或SWD接口将JLink与目标设备连接起来。
确保连接线的端口正确连接,以便JLink能够与目标设备进行通信。
3. 打开JLink软件:打开JLink软件,它通常是一个名为JLink.exe的可执行文件。
软件将自动检测并连接到已经连接的JLink设备。
如果连接成功,JLink软件将显示目标设备的信息。
4. 配置目标设备:在JLink软件中,选择“目标配置”选项。
在出现的对话框中,选择目标设备的品牌和型号。
如果目标设备不在列表中,则可以手动设置设备的特定参数,如芯片引脚映射和调试接口类型。
5. 设置调试选项:在JLink软件中,选择“调试选项”选项,然后配置调试选项,如调试模式和调试速度。
通常,选择SWD接口进行调试,调试速度可以根据需要适当调整。
6. 准备固件文件:将要下载到目标设备上的固件文件准备好。
固件文件通常是一个二进制文件,可以通过编译代码生成。
确保固件文件的路径和名称在JLink软件中正确地指定。
7. 下载固件:点击JLink软件中的“下载”按钮,开始将固件文件下载到目标设备上。
下载过程需要一些时间,取决于固件文件的大小和目标设备的性能。
8. 开始调试:下载完成后,可以开始调试目标设备。
在JLink软件中,选择“调试”选项,并在出现的对话框中选择需要调试的程序入口点。
调试过程中可以查看变量的值、断点、单步调试等。
jlink pylink用法
jlink pylink用法JLink和PyLink的用法介绍JLink和PyLink是两个常用的工具,用于开发和调试嵌入式系统。
JLink是由SEGGER公司开发的硬件调试接口,而PyLink则是基于JLink的Python接口。
JLink的用法:JLink是一种通用的硬件调试接口,可以与各种嵌入式系统进行连接。
它支持多种调试协议,例如JTAG、SWD和SWO。
通过 JLink软件,可以轻松进行嵌入式系统的程序加载、断点设置、变量监视等操作。
使用JLink进行调试的第一步是将JLink硬件连接到目标系统的调试接口。
接下来,通过JLink软件设置连接选项,例如选择调试接口、串行速度等。
然后,可以加载目标程序并设置断点。
通过JLink软件提供的图形界面或命令行工具,可以监视变量、寄存器和内存等信息,以及执行单步调试等操作。
PyLink的用法:PyLink是基于JLink的Python接口,提供了使用Python语言进行嵌入式系统开发和调试的便利性。
它允许开发人员使用Python脚本来执行各种与JLink相关的操作。
使用PyLink可以通过Python脚本自动化嵌入式系统的开发和调试过程。
通过调用PyLink提供的函数,可以实现与JLink相同的功能,例如加载目标程序、设置断点、读取变量和寄存器等。
PyLink的优势在于使用Python语言的灵活性和易用性。
开发人员可以编写简洁的Python脚本来完成复杂的嵌入式系统开发任务。
同时,Python还拥有丰富的扩展库,可以方便地进行数据处理、图形化界面设计等操作。
总结:JLink和PyLink是用于嵌入式系统开发和调试的工具。
JLink是硬件调试接口,提供了丰富的功能和图形界面工具。
PyLink是基于JLink的Python接口,允许开发人员使用Python脚本自动化嵌入式系统的开发和调试过程。
无论是使用JLink还是PyLink,开发人员都可以更加高效地进行嵌入式系统的开发工作。
终于成功搭配好jlink+jlinkgdbserver+insight的调试环境
终于成功搭配好jlink+jlinkgdbserver+insight的调试环境
环境搭配:
虚拟机ubuntu9.10 下安装好insight,安装方法见我以前的文章/ling1874/archive/2010/01/20/5218271.asp x
windows下安装好jlink的驱动,里面会自带jlink gdb server 代码是通过虚拟机ubuntu的交叉编译器编译好的,编译好之后,连接好硬件: jlink连接好开发板和pc,
打开windows端的jlinks gdb server ,如果硬件连接成功,jlink 和Tagget 后面会变绿色, waiting for connection是红色的Linux端打开arm-linux-insight ,选择file->open,选择打开你刚刚编译好的一个elf格式的中间文件,选择file->targetsetting Target:Remote/TCP
Hostname:192.168.1.172
Port:2331
注意:这里的hostname指的是你的windows的ip,windows 的ip和虚拟机的ip要在同一个网段,主机与虚拟机的连接采用bridged,
而且要保证主机与虚拟机可以正常通讯。
设置好之后点击Run->connect to target,连接成功的话gdbserver的GDB 后面会显示Connected to 192.168.xxx.xxx,这个是你虚拟机的ip,到这里就ok了呵呵
如果insight使用觉得不方便的话,可以考虑换eclipse +zdt来调试的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何使用Jink 调试 Mini INS/GPS
本文档主要解决以下问题:
1. Mini INS/GPS的SWD仿真接口的定义
2. Jlink 仿真器如何连接SWD仿真接口
3. 如何使用Jflash 下载目标HEX格式文件
4. 如何使用J link 仿真和调试程序
为了方便用户调试姿态解算程序,Mini INS /GPS 提供了SWD 调试接口。
它只需要4个引脚就可以仿真和调试STM32F 的程序。
1. SWDIO 数据通信引脚2. SWDCLK 时钟引脚
3. GND 公共地,需要与仿真器的地连接在一起
4. VCC 3.3V 电源,有的仿真器用于检测目标芯片是否已上电。
以下是SWD 仿真接口在Mini INS/GPS 板子上的位置和引脚定义
Mini INS /GPS 的SWD 调试接口
双色状态指示
LED
SWD 调试接口
Jlink 仿真器的接口
SWD 接口
Jlink 仿真器
J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。
配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有
ARM7/ARM9/ARM11内核芯片的仿真,通过RDI接口和各集成开发环境无缝连接,操作方便、连接方便、简单易学,是学习开发ARM最好最实用的开发工具。
Jlink 是分版本的,只有Jlink V6 或者更高版本的Jlink 才支持SWD 接口目前市面上的大都是Jlink V8版本,这是完美支持SWD 调试的
注意:
SWD 数据SWD 时钟
目标板电压
目标板GND
只需连接其中一个就可
Mini Jlink 与模块的连线图如下
Mini Jlink 的应用
Mini Jlink 功能:
1.支持SWD调试,支持STM32F系列单片机的仿真
2.只需要三条线,就可以进行芯片的下载程序和仿真操作 大大减少IO连接
3.兼容 JLink的SWD调试部分。
特别提示:
Mini Jlink
并不向目标板提供电源,在编程和仿真时,目标板必须自行连接电源
Jlink 与 Mini IMU 的SWD接口连接
如何使用 Jflash 将已编译好的Hex下载到STM32单片机JFlash是Jlink驱动安装时就已经安装好,专门用于写处理器Flash数据的。
以下介绍如何借助jlink仿真器和Jflash软件将HEX文件导入STM32
点击开始菜单
1.首先 打开JFlash
项目和接口属性
信息提示
设置接口为SWD
将Jlink 的接口设置成USB 通信口。
将目标芯片接口设置成SWD 仿真接口
选择目标芯片
选择对应的目标芯片型号,请正确选择
特别提示:
Mini INS /GPS 的主控制芯片型号为 STM32F103TB ,在此我们选择
STM32F103CB
点击确定完成设置
1.将Jlink 连接到 目标芯片 连接方法见前面的介绍
2.给目标芯片上电。
给板子上电.
3.jlink 连接至电脑
到此,我们已经完成了下载程序的基本设置。
接下来就是打开HEX 文件,进行下载操作了。
为了完成接下来的动作,你需要:
打开HEX文件
选择目标文件
点击打开
打开后的HEX文件内容
开始下载程序
提示连接成功,否则 要检查SWD三条线是否正确可靠连接
到此 程序下载完成
MDK 软件的调试设置
在此,我们以开篇第一个工程为例,讲解如何使用Jlink调试 Mini IMU。
1.打开之前创建的工程
经过以上的设置,Jlink已经可以和MDK相认了。
下载程序:
在程序编译完成后,如果没有错误。
那么就可以将程序下载到目标芯片中运
行了。
由于我们设置了当下载完成后立即运行程序。
在出现 Application running ... 之后,程序就已经在目标芯片中运行看看运行效果吧、
开启仿真
!
----仿真的概念其实使用非常广,最终的含义就是使用可控的手段来模仿真实的情况。
----在嵌入式系统的设计中,仿真应用的范围主要集中在对程序的仿真上。
例如,在单片机的开发过程中,程序的设计是最为重要的但也是难度最大的一种最简单和原始的开发流程是:编写程序烧写芯片验证功能,这种方法对于简单的小系统是可以对付的,但在大系统中使用这种方法则是完全不可能的。
---在与一些有经验的工程师交谈中,我们会发现有相当一部分工程师在开发中不使用或很少仿真器。
向他们询问,原因得到的回答是"仿真器不可靠"但是他们是如何解决程序开发中遇到的问题呢?通过深入的交流才明白他们是按照这样的方法来开发程序的: ---(1) 根据自己的设计建立一个符合要求的硬件平台,如果该平台涉及的程序比较复杂。
还要搭建一个人机交流的通道人机交流通道可能是一个简单的发光二极,管蜂鸣器,复杂的可能是串口通讯口LCD显示屏。
---(2) 写一个最简单的程序例,如只是将发光二极管连续的闪烁。
程序编译后烧写到单片机芯片中,验证硬件平台是否工作正常。
---(3) 硬件平台正常工作后编写系统最低层的驱动程序,每次程序更改后都重新烧写单片机芯片验证。
如果在程序验证中遇到问题,则可能在程序中加入一些调试手段。
例如通过串口发送一些信息到PC 端的超级终端上,用于了解程序的运行情况。
---(4) 系统低层驱动程序完成后再编写用户框架程序,由于这部分已经不涉及到硬件部分,所以程序中的问题用户一般能够发现。
---但是更多的调查表明,使用以上方法的工程师总的看来所设计的程序不是很庞大或很复杂。
因为在做简单的项目时,我们可以通过一个发光二极管就可以表达出内部的信息:如果程序复杂,可能需要更多的信息来表示内部的状态,这样可能就需要串口协助调试:如果程序更复杂,硬件更多,实时性更强,那工程师就要更多的增强调试手段,串口可能就不能满足了,需要类似于断点的功能,因为我想知道在某一个时刻单片机内部的状态究竟是怎样?
---如果用户程序的修改非常频繁,可能一次又一次地的烧写芯片占用的时间就很多,这时用户就会想能下载程序并运行的装置。
---到这里,您会看到,随着用户要求的越来越高,调试装置已经越来越象一个通用的仿真器了。
因此我们的建议是:不要回避使用仿真器因为使用仿真器能提高您的开发速度。
---但是不能否认的是,用户回避使用仿真器也是有原因的。
因为仿真器也是一种电子装置,非常依赖于设计者的水平。
如果一个仿真器设计者的水平有欠缺,那将给仿真器的使用者带来很大的问题。
因为仿真器的使用者将分不清楚究竟是程序的问题还是出在那里。
随着电子设备的复杂化,设计工程师面临前所未有的压力。
您可以想象,用户发现了程序中有一个问题,首先怀疑是自己系统中的问题,可能是软件方面也可能是硬件方面。
因为用户系统处于开发阶段,用户基本上不会怀疑仿真器。
在这种情况下,用户将耗费很大的精力在自己的系统中寻找并不存在的问题。
如果用户最终发现问题来源于仿真器,并通过烧写芯片验证确,实如此那这个仿真器用户以后可能会逐渐放弃使用仿真器。
---用户放弃使用仿真器,对用户的影响是巨大的。
因为放弃使用一个设计不完善的仿真器,也放弃了使用其它设计完善的仿真器,关键是放弃了合理的开发方法。
因此我们的建议是:不要回避使用仿真器但要挑选好的仿真器。
为什么要使用仿真器?
关于仿真器
/。