您的当前位置:首页正文

STM32程序3种下载方式说明

来源:化拓教育网
《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

下面介绍U-Link、J-Link和ISP下载STM32程序的配置方法,以MDK3.24为例,也可以使用MDK3.80或者更高版本的MDK,过程类似。此文档仅供学习和交流使用。

STM32程序U-Link下载说明

(1)ULink下载工具如图1所示。

图1 ULink下载工具

(2)双击MDK安装文件图标进行安装,在后续出现的窗口中依次点击Next按钮,直到安装完成(默认安装路径是C:\\Keil,建议换个路径名,比如C:\\Keil MDK324文件目录下,以防止与51单片机开发环境冲突)。安装好后,未输入License的MDK,在开发时会有代码量的限制。

(3)输入License:选择File菜单下的License Management子菜单,如图2所示。

图2 File菜单下的License Management子菜单

(4)将License序列号拷贝到License Management中的New License ID Code(LIC)中,点击ADD LIC完成,如图3所示。

图3 输入License序列号

(5)运行序列号生成程序,打开破解补丁:

(部分杀毒软件可能会将

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

这个文件误报为病毒文件,这时不必理会杀毒软件的警告,并将这个文件设为信任文件或者直接关掉杀毒软件),运行压缩包中程序,按图4所示配置,将Target下拉选项选中“arm”。

图4 输入CID,获得序列号

将Keil软件“License Management”对话框中的Computer CID中的内容:

拷贝到此程序的CID中:

按钮,获得序列号。

,然后点

(6)将生成的序列号拷贝到“License Management”对话框的LIC区域中:

然后,点击“Add LIC”,出现图5所示的内容,点击“Close”关闭对话框。

图5 添加LIC序列号

(7)将文件夹Bin目录中的3个文件“UL2ARM_RDI.dll”、“UL2ARM_ULINK1.dll”、

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

“UL2CM3_ULINK1.dll”拷贝到MDK安装目录下的\\ARM\\Bin目录中。

(8)将文件夹system32目录中的文件“FTCJTAG.dll”拷贝到C:\\WINDOWS\\system32目录下,而Drivers目录中的文件“keilul.sys”拷贝到C:\\WINDOWS\\system32\\Drivers目录下。

(9)将文件夹下的inf目录拷贝到C盘根目录。 (10)进入MDK根目录下的\\ARM\\FLASH目录,找到

2个文件,将

其后缀改成FLX。

(11)将ULink下载工具的一端通过USB线连接到电脑USB口上,另一端连接到教学开发板上的JTAG口上。接好后,按图6(a)~(c)所示过程依次配置,安装ULink驱动。

(a)ULink驱动安装步骤1

(b)ULink驱动安装步骤2

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

(c)ULink驱动安装步骤3 图6 ULink下载工具驱动的安装

然后点击Next按钮,直到安装完成,ULINK的驱动就装好了。

(12)更改MDK安装目录下的TOOLS.INI文件,用记事本打开它,将下面一段内容拷贝进去,包括[ARM]、[ARMADS]、[KARM]三个片段(仅拷贝到[ARMADS] 片段也可以),并保存:

TDRV0=BIN\\UL2ARM.DLL(\"ULINK2 ARM Debugger\") TDRV1=BIN\\UL2CM3.DLL(\"ULINK2 Cortex Debugger\") TDRV2=BIN\\UL2ARM_RDI.DLL(\"RDI Interface Driver\") TDRV3=BIN\\UL2ARM_ULINK1.DLL(\"ULINK1 ARM Debugger\") TDRV4=BIN\\UL2CM3_ULINK1.DLL(\"ULINK1 Cortex Debugger\") TDRV5=BIN\\ABLSTCM.dll(\"Altera Blaster Cortex Debugger\") TDRV6=BIN\\lmidk-agdi.dll(\"Luminary Eval Board\") TDRV7=Signum\\SigUV3Arm.dll(\"Signum Systems JTAGjet\") TDRV8=Segger\\JLTAgdi.dll(\"J-LINK / J-TRACE\")

注意3处路径是Keil MDK3.24的安装路径。 [ARM]

PATH=\"C:\\Keil MDK324\\ARM\\\" [ARMADS]

PATH=\"C:\\Keil MDK324\\ARM\\\" [KARM]

PATH=\"C:\\Keil MDK324\\ARM\\\"

修改好后,如下所示:

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

在“Options for Target”的Debug页面中,如果有ULINK1 Cortex Debugger和ULINK2 Cortex Debugger说明安装成功。

(13)将ULink和教学开发板连接好,打开教学开发板电源开关。点击Project下的Options for Target(工程属性),弹出“Options for Target”对话框。或者点击“Flash”菜单下的“Configure Flash Tools”,按照如图7(a)~(f)所示进行配置。

(a)配置Target页面,使用微库

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

(b)配置Debug页面。如软件仿真,则选中“Use Simulator”

(c)配置Utilities页面步骤1

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

(d)配置Utilities页面步骤2:点击Settings

(e)配置Utilities页面步骤3:点击Add,添加相应的STM32芯片烧写算法

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

(f)配置Utilities页面步骤4:点击OK

图7 ULink下载配置

(14)这样ULink下载工具就配置好了。如图8所示,点击“Flash->Download”操作),程序就开始下载了。

图标(或通过

图8 程序下载

(15)下载时,先擦除上次Flash存储器中的程序,再将刚才编译好的程序下载,最后经校验无误后,下载结束。此时,按教学开发板的Reset复位键,下载的程序开始运行。

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

STM32程序J-Link下载说明

这里介绍J-Link下载程序的配置方法。 (1)J-Link下载工具如图1所示。

(2)将J-Link工具软件压缩包进行解

压,并安装,在后续出现的窗口中依次点击Next按钮,直到安装完成。

注意:有些杀毒软件可能会误报病毒,对此不必理会,可以直接关闭杀毒软件。

图1 J-Link下载工具

(3)将J-Link下载工具的一端通过USB线连接到电脑USB口上,另一端连接到教学开发板上的JTAG口上。Windows系统发现J-Link下载工具,如图2所示,接着安装J-Link驱动。

图2 系统发现J-Link下载工具

(4)将J-Link和教学开发板连接好,打开教学开发板电源开关。点击Project下的option for target(工程属性),弹出“Options for Target”对话框。或者点击“Flash”菜单下的“Configure Flash Tools”,如图3所示。

图3 配置Flash下载工具

(5)按照图4(a)~(h)所示,配置J-Link的RDI方式来调试STM32系列单片机。

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

(a)配置Target页面,使用微库

(b)配置Debug页面1,选中“Run to main”

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

(c)配置Debug页面2,点击Setting

点击“Browse for RDI Driver DLL”右边的按钮,选中C:\\Program Files\\SEGGER\\JLinkARM_V400a\\JLinkRDI.dll文件,确定后,如图4(d)所示。

(d)配置Debug页面3,加载完J-Link RDI驱动库后

点击“Configure RDI Driver”,出现图4(e)对话框。

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

(e)配置J-Link RDI对话框1

点击Flash页,出现图4(f)对话框,钩选“Enable flash programming”,选择器件类型,如:ST STM32F103VB。

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

(f)配置J-Link RDI对话框2

(g)配置Utility页面1

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

在图4(g)的“Use Target Driver for Flash Programming”下拉列表框中,选“RDI Interface Driver”,点击Settings,选中“J-Link Flash Programming”, 如图4(h)所示,点击“OK”确认。

(h)配置Utility页面2 图4 配置J-Link下载工具

(6)点击“OK”确定,完成J-Link配置。

注:RDI(Remote Debug Interface)是ARM公司提出的调试接口标准,主要用于ARM芯片的JTAG仿真。由于各个芯片厂商使用的调试接口各自独立,硬件无法进行跨平台的调试。现在众多的芯片厂家都逐步采用标准RDI作为ARM仿真器的调试接口,使跨平台的硬件调试成为可能。因此,建议在IDE中使用标准的RDI。ARM公司的ADS1.2/IAR公司的EWARM 3.30也支持DRI调试。

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

STM32程序ISP下载说明

这里介绍ISP下载程序的配置方法。

(1)ISP下载采用串口电缆,先将开发板与PC机用串口电缆连接好。

(Flash_Loader_Demonstrator_V1.1.1_Setup.exe),(2)点击

双击ISP下载软件,进行安装,在后续窗口中依次点击Next按钮,直到安装完成。

(3)软件默认安装在C:\\Program Files\\STMicroelectronics\\Software\\Flash Loader Demonstrator

目录下,找到可执行文件STMicroelectronics flash loader.exe:,

在桌面建立快捷方式。

(4)双击ISP下载软件图标,出现图1所示界面。连接好串口电缆,打开开发板电源,准备配置ISP下载软件。

图1 配置ISP下载软件

(5)将STM32单片机教学开发板的核心板BOOT0开关拨向右边,如图2所示。此时BOOT0=1,BOOT1=0,然后打开电源,按复位按钮,STM32单片机进入ISP编程模式。

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

BOOT0 左:0 右:1 BOOT1 左:0 右:1 图2 STM32单片机ISP编程模式开关选择

(6)点击图1的Next按钮,进入图3所示界面,表明ISP串口连接成功,否则表明连接失败,需重新按照以上步骤再连接一次,如果仍然无法连接,注意检查电源、串口线连接,以及晶振是否起振。

图3 STM32单片机ISP下载串口连接成功

(7)单击Next按钮,进入图4所示界面,选择STM32单片机型号。

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

图4 选择STM32单片机型号

(8)单击Next按钮,进入图5(a)所示界面,选择下载程序。点击“Download to Device”:选项后,再单击其右侧的按钮,弹出图5(b)所示对话框。在文件类型下拉菜单中选中hex文件类型,如图5(c)所示。随后找到需要下载的hex可执行文件,如图5(d)所示。

(9)选择好要下载的hex可执行文件后,在图6(a)所示界面单击Next按钮,程序开始下载,经校验无误后,程序下载完成,如图6(b)所示。

(a)选择下载程序

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

(b)选择下载文件

(c)选择下载的*.hex文件

(d)选择hex可执行文件

图5 选择下载程序

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

(a)程序下载中

(b)程序下载完成 图6 下载程序

(10)此时,程序已经成功下载到目标芯片上了,单击Finish关闭这个程序。将BOOT0开关拨回到左边,即BOOT0=0,BOOT1=0状态。然后按复位按钮,下载到STM32单片机里的程序开始执行。

注意:ISP下载完后要注意关闭ISP下载软件,否则使用串口调试软件会有冲突;同理,在使用串口调试软件后,也注意要断开连接,否则会与ISP下载软件有冲突。

《基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践》

STM32程序下载常见问题

(1)烧写Flash异常

当遇到无法将程序烧写进Flash时,可以将开发板上的BOOT0和BOOT1开关选择从STM32微控制器内嵌的SRAM启动,之后重新选择BOOT0和BOOT1开关,再进行烧写。

有时候,更换了PC(笔记本)端的USB下载插口,也可能导致下载异常,此时可以将USB下载线拔掉,插回原来的USB口。

当教学开发板插上耗电量大的字符型、点阵型或TFT LCD时,由于从PC(笔记本)端的USB口供电电流为500mA,也可能由于供电不足导致下载异常。此时,可拔下LCD,或采用电源适配器供电(输出电流1A或2A)。

(2)发现不了Cortex-M3内核

确认硬件连接正确,以及连接电缆的完好。可参考前面的说明,重新配置Debug页面和Utilities页面。

(3)高版本MDK与低版本MDK

如果你原来的工程是在MDK3.x下建立的,当使用MDK4.x打开后,工程文件及配置文件会被修改为MDK4格式,以后MDK3.x就不能再打开这个工程了。如果需要MDK3.x、MDK4.x共存,在装完MDK4.x后,再将MDK3.x重装一次,这时MDK3.x及MDK4.x都能正常使用了,否则MDK3.x有可能不能正常编译。

因篇幅问题不能全部显示,请点此查看更多更全内容