stm32--如何使用J-Flash 调试

时间:2023-02-20 11:46:46


对初学者来说,要进行STM32的程序下载调试,一般有三种方法:

  1. 1)使用SEGGERJ-FlashJ-Link)下载程序到闪存中运行;

  2. 2)使用串口ISP来下载HEX文件到CPU中运行;

  3. 3J-Link+MDK组合,来在线调试程序(可下载、调试)。



如何使用J-Flash调试


 


本文档讲述如何在DGV采集子板上使用SEGGERJ-Flash下载HEX文件。而其他两种方法,我们将在文档《如何使用MDK+J-Link调试》、以及《如何使用STM32-ISP下载调试》中详细说明。


先来解释SEGGER。实际上,大家更为熟悉的ARM仿真器J-Link,就是由SEGGER公司开发的。J-LinkSEGGER为支持仿真ARM内核芯片推出的JTAG仿真器。


不管什么CPU的仿真器,都需要安装其相应的驱动后才能使用。J-Link也不例外,它的驱动软件可以去官方网站:www.segger.com下载最新版本。这里使用的驱动软件版本是V4.08l,该驱动的安装非常简单,请参考文档《如何安装J-Link驱动软件》。


安装完毕,会出现如下两个图标:


stm32--如何使用J-Flash 调试


现在开始我们的工作吧!


步骤一先进行设备连接操作。STM开发板的JTAG口(开发板面朝上,最顶端有一个JTAG20pin的插口),与J-LinkV8仿真器的输出排线连接,J-Link另一头的USB插口则插在电脑的USB口上。这时,J-Link的指示灯开始闪烁,并保持点亮的状态。


注意:大家购买J-Link仿真器的时候,JTAG接口要求是标准的20pin2.54间距的针座。否则需要转接卡进行JTAG接口的转换。


步骤二进入PC的桌面,点击上图左边的图标:J-FlashARMV4.081,出现如下界面:



stm32--如何使用J-Flash 调试


步骤三我们先来进行project设置,保存后会自动识别该配置。不进行project设置,则在后续步骤进行连接connect开发板的时候,会提示找不到flash设备下载,导致无法连接,如下所示:


stm32--如何使用J-Flash 调试


点击Options,再点击Projectsettings,如下图所示:


stm32--如何使用J-Flash 调试


stm32--如何使用J-Flash 调试


步骤四在弹出的窗口中进行设置。由于市面上大多数的J-Link仿真器都采用USB接口,因此需要检查General选项卡,是否已选中USB,如下图所示:




stm32--如何使用J-Flash 调试


步骤五点击CPU选项卡,在左边Device选中,并在下拉菜单中选择CPUSTSTM32F103VE,其他参数默认,如下图所示:


stm32--如何使用J-Flash 调试




步骤六点击Flash选项卡,如下图所示,查看现在基址是否为08000000,然后点击确定。


stm32--如何使用J-Flash 调试


步骤七现在回到主窗口,发现信息已经更改如下,红色框中部分:


stm32--如何使用J-Flash 调试


步骤八如果想保存下刚才的配置,可以点击File”—>Saveas实际上,不需要保存。我做了实验,下次启动J-Flash后,默认就是上次的配置。




现在打开一个需要下载的HEX文件。在File中,点击Open,会跳出如下对话框,选择一个HEX文件。注意,在DGV采集子板的例程文件夹中,均有编译好的HEX文件,可以选择一个。我在这里选择了GPIO-LED例程的HEX文件,然后点击打开。


stm32--如何使用J-Flash 调试


现在您看到的窗口如下,在窗口的右边,有一大堆十六进制的代码,这就是HEX文件的十六进制表示了。


stm32--如何使用J-Flash 调试


步骤九现在让J-Link仿真器连接到目标板。点击主窗口中的Target




点击connect,软件就会进行连接,如下图所示:


stm32--如何使用J-Flash 调试


大约1秒钟后,连接成功,在窗口下方提示connectsuccessfully,如下信息:


stm32--如何使用J-Flash 调试


步骤十下载代码到目标板。点击Target>auto,即可把刚才的HEX文件下载到目标板中。




stm32--如何使用J-Flash 调试


期间会显示下载的进度,最后提示:


stm32--如何使用J-Flash 调试


OK,这就表明我们使用J-Link下载成功啦~现在关掉DGV采集子板的电源,重新上电。数据能正常发送——表明刚才的LED的例程编译文件HEX已经烧写到CPU中正确运行。


以上讲述的就是如何使用J-Link烧写一个HEX文件。感谢大家查阅本文档,如果您还有不理解的地方,请直接和我联系。