如何使用JLINK调试和固件下载
@
前言
通过JLINK工具我们可以对调试设备进行仿真调试和固件下载
硬件连接
准备工作:
- 电脑(Windows 7)
- JLINK仿真器以及转接线
- 需要调试的设备
将J-LINK仿真器的USB头插入电脑的USB接口,插入后Windows会自动安装加载驱动程序。
打开设备管理器查看是否正常识别到J-LINK设备,如下图所示:
最后,将J-LINK仿真器跟设备进行连接,连接时需注意将转接线的VCC引脚对准设备上对应的插孔。
连接后,设备的电源灯亮起就说明已正确连接,至此,硬件连接完成。如下图所示:
JLINK调试(IAR)
工程配置
完成硬件连接后,开始对调试的工程进行相应的配置。打开调试程序对应的IAR工程,如下图:
接下来通过路径"IAR->菜单->Project->Options"打开工程配置界面,如下图:
调试器配置
配置工程对应的调试器为J-LINK,如下图:
配置完点击OK保存配置。
J-LINK配置
接着再次打开工程配置界面,对J-LINK进行相应的配置,如下图:
配置完点击OK保存配置。
注意: 该步骤需在配置完调试器为J-LINK后,再次打开配置界面才能进行,否则该步骤选项为灰色,无法配置。
程序调试
完成了硬件连接和IAR工程配置之后,就可以进行程序调试了。每次启动调试之前,需手动完成程序编译,C-SPY只负责程序下载和调试,不负责程序编译。
启动调试
点击"下载程序并开始调试"按钮,启动C-SPY的调试会话,如下图:
程序下载完成后进入调试会话界面,如下图:
上图中,默认情况下,C-SPY会在main函数插入临时的断点,所以程序在main函数入口处暂停运行。上图右上角为Disassembly反汇编视图,左上角为调试操作按钮,各按钮的功能请查看按钮说明(将鼠标移至按钮上方,可显示说明)。
如果启动调试时,遇到下图的错误提示,表明J-LINK跟设备连接失败,请检查插口处是否接触不良。
断点管理
你可以在启动调试之前或启动之后,点击代码行左侧的空白处新增或者删除断点,或者通过"IAR->菜单->View->Breakpoints"管理断点,如下图:
变量跟踪
调试过程中,可以通过静态变量视图和局部变量视图来跟踪变量的值,静态变量视图打开路径"IAR->菜单->View->Statics",局部变量视图打开路径"IAR->菜单->View->Locals",打开后如下图:
寄存器跟踪
通过路径"IAR->菜单->View->Register"打开寄存器视图,可以查看各寄存器的值,如下图:
默认显示的是CPU的寄存器列表,可以通过下拉菜单选择其他外设,查看该外设对应的寄存器,比如查看I2C1的寄存器,如下图:
至此,我们已经可以在IAR集成开发工具上,通过J-LINK仿真器对设备的程序进行简单的调试了。
JLINK固件下载
J-Flash
打开J-Flash软件后,要求我们创建一个工程,或者使用已经存在的工程
然后点击"Start J-Flash"按钮,如下图所示。
接下来导入下载文件,如下图所示,选择"File"下的"Open data file..."项,然后要求输入起始地址,
这个可以看下左侧有一个Base address,输入这个对应的值即可。
点击"Target"菜单下的"Connect"选项连接。如果连接成功,底部的状态栏会显示successfully的信息,如下图所示。
再点击"Target"菜单下的"Program"开始下载。
下载过程会有进度条显示下载过程,如下图所示。
下载完成会弹出如下图所示的successfully提示框,这样就下载成功了。
如下图所示,表示固件下载成功
下载完成后要再点次"Target"菜单下的"Disconnect"选项断开连接,板子重新上电即可。
遇到的问题
如何使用jlink对K64芯片解锁
- 打开jlink.exe
- 输入命令 unlock kinetis
- 即可对芯片进行解锁 成功如下图所示