对初学者来说,要进行STM32的程序下载调试,一般有三种方法:
(1)使用SEGGERJ-Flash(J-Link)下载程序到闪存中运行;
(2)使用串口ISP来下载HEX文件到CPU中运行;
(3)J-Link+MDK组合,来在线调试程序(可下载、调试)。
如何使用J-Flash调试
本文档讲述如何在DGV采集子板上使用SEGGERJ-Flash下载HEX文件。而其他两种方法,我们将在文档《如何使用MDK+J-Link调试》、以及《如何使用STM32-ISP下载调试》中详细说明。
先来解释SEGGER。实际上,大家更为熟悉的ARM仿真器J-Link,就是由SEGGER公司开发的。J-Link是SEGGER为支持仿真ARM内核芯片推出的JTAG仿真器。
不管什么CPU的仿真器,都需要安装其相应的驱动后才能使用。J-Link也不例外,它的驱动软件可以去官方网站:www.segger.com下载最新版本。这里使用的驱动软件版本是V4.08l,该驱动的安装非常简单,请参考文档《如何安装J-Link驱动软件》。
安装完毕,会出现如下两个图标:
现在开始我们的工作吧!
步骤一先进行设备连接操作。STM开发板的JTAG口(开发板面朝上,最顶端有一个JTAG20pin的插口),与J-LinkV8仿真器的输出排线连接,J-Link另一头的USB插口则插在电脑的USB口上。这时,J-Link的指示灯开始闪烁,并保持“点亮”的状态。
注意:大家购买J-Link仿真器的时候,JTAG接口要求是标准的20pin的2.54间距的针座。否则需要转接卡进行JTAG接口的转换。
步骤二进入PC的桌面,点击上图左边的图标:J-FlashARMV4.081,出现如下界面:
步骤三我们先来进行project设置,保存后会自动识别该配置。不进行project设置,则在后续步骤进行连接connect开发板的时候,会提示找不到flash设备下载,导致无法连接,如下所示:
点击“Options”,再点击“Projectsettings”,如下图所示:
步骤四在弹出的窗口中进行设置。由于市面上大多数的J-Link仿真器都采用USB接口,因此需要检查“General”选项卡,是否已选中USB,如下图所示:
步骤五点击“CPU”选项卡,在左边“Device”选中,并在下拉菜单中选择CPU为STSTM32F103VE,其他参数默认,如下图所示:
步骤六点击“Flash”选项卡,如下图所示,查看现在基址是否为08000000,然后点击确定。
步骤七现在回到主窗口,发现信息已经更改如下,红色框中部分:
步骤八如果想保存下刚才的配置,可以点击“File”—>“Saveas…”实际上,不需要保存。我做了实验,下次启动J-Flash后,默认就是上次的配置。
现在打开一个需要下载的HEX文件。在“File”中,点击“Open”,会跳出如下对话框,选择一个HEX文件。注意,在DGV采集子板的例程文件夹中,均有编译好的HEX文件,可以选择一个。我在这里选择了GPIO-LED例程的HEX文件,然后点击打开。
现在您看到的窗口如下,在窗口的右边,有一大堆十六进制的代码,这就是HEX文件的十六进制表示了。
步骤九现在让J-Link仿真器连接到目标板。点击主窗口中的“Target”,
点击“connect”,软件就会进行连接,如下图所示:
大约1秒钟后,连接成功,在窗口下方提示connectsuccessfully,如下信息:
步骤十下载代码到目标板。点击“Target–>auto”,即可把刚才的HEX文件下载到目标板中。
期间会显示下载的进度,最后提示:
OK,这就表明我们使用J-Link下载成功啦~现在关掉DGV采集子板的电源,重新上电。数据能正常发送——表明刚才的LED的例程编译文件HEX已经烧写到CPU中正确运行。
以上讲述的就是如何使用J-Link烧写一个HEX文件。感谢大家查阅本文档,如果您还有不理解的地方,请直接和我联系。