STM32系列微控制器的开发工具有很多,图1-26给出了能进行STM32系列微控制器开发的IDE(集成开发环境)。常用的商业软件是IAR-EWARM和MDK-Arm,这两个商业软件虽然好用,但对应的免费版或评估版有器件型号限制,或者对程序大小有限制。
在STM32系列微控制器的开发中,使用的较多的IDE是KEIL,它是KEIL公司开发的。KEIL公司是一家业界领先的微控制器(MCU)软件开发工具供应商,于2005年被ARM公司收购,因此KEIL变成了arm KEIL。
STM32CubeIDE是ST公司推出的一款图形化配置编程的集成开发环境,它的出现让编程变得更加简单。本书使用KEIL和C语言进行STM32系列微控制器的开发,当读者熟悉这种开发模式后,就会更加容易地掌握STM32CubeIDE。
图1-26 用于STM32系列微控制器开发的IDE(图片引自ST官方网站)
KEIL C51是针对51系列单片机的开发工具,MDK-Arm是KEIL公司针对ARM芯片的开发工具。二者相互独立,但均采用了μVision集成开发环境。2013年10月,KEIL公司正式发布了KEILμVision5,本书使用的就是KEILμVision5。
KEILμVision5是一个窗口化的软件开发平台,它集成了功能强大的编辑器、工程管理器和各种编译工具(包括C编译器、宏汇编器、链接/装载器和十六进制文件转换器)。
下面我们来搭建KEIL的开发环境。
1.获取KEILμVision5安装包
要安装KEILμVision5,我们首先要获取KEILμVision5的安装包,读者可在KEIL官网下载KEILμVision5的安装包,如图1-27所示。我们要下载的是MDK-Arm。需要注意的是下载的软件基本都是试用版,试用期是一个月,如果要长期使用则需要购买注册版。
图1-27 在KEIL官网下载MDK-Arm
2.安装KEILμVision5
本书使用的是MDK5.23。双击KEILμVision5安装图标即可开始安装,KEILμVision5的开始安装界面如图1-28所示。
图1-28 KEILμVision5的开始安装界面
勾选“I agree to all the terms of the preceding License Agreement”后单击“Next”按钮即可继续安装,如图1-29所示。
图1-29 勾选同意协议
选择安装路径,注意路径中不能有中文字符,然后单击“Next”按钮,如图1-30所示。
图1-30 选择安装路径
填写用户信息,可以填写如图1-31所示的信息,也可以选择空格,单击“Next”按钮。
图1-31 填写用户信息
安装完成后单击“Finish”按钮,如图1-32所示。安装完成后会在计算机桌面上生成一个KEILμVision5的快捷方式。
图1-32 安装完成
3.安装STM32芯片包
KEILμVision5需要安装芯片包,芯片包可以在KEIL官网下载,如图1-33所示。
图1-33 芯片包下载(图片引自KEIL官网)
双击下载的芯片包即可进行安装,安装成功后可以在器件库中选择相应的芯片包,如图1-34所示。
图1-34 在器件库中选择相应的芯片包
常用的安装调试接口是JTAG接口和SWD接口,如图1-35所示。
图1-35 JTAG接口和SWD接口
JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(与IEEE 1149.1兼容),主要用于芯片内部测试。现在的大多数器件都支持JTAG协议,如ARM微控制器、DSP、FPGA器件等。采用JTAG接口进行安装调试时,通常使用4个引脚,即TMS、TCLK、TDI、TDO,分别用于模式选择、时钟、数据输入和数据输出。
SWD(Serial Wire Debug,串行调试)接口和JTAG接口不同,使用的调试协议也不一样。在使用SWD接口进行安装调试时,通常使用3个引脚,即SWDIO、SWCLK和GND。SWD接口的使用没有JTAG接口广泛,主流的调试器是后来才加上SWD接口的。
1.J-LINK仿真器
J-LINK是一个通用的仿真工具(如图1-36所示),它是由德国SEGGER公司为支持ARM芯片推出的基于JTAG接口的仿真器,其本质上是一个小型的USB接口到JTAG接口的转换器。连接计算机的是USB接口,连接目标板的是JTAG接口。J-LINK完成了从软件到硬件的转换,可以用于KEIL、IAR、ADS等集成开发环境。J-LINK的速度和效率都比较高,是功能最强大的仿真器之一。
2.U-LINK仿真器
U-LINK是ARM/KEIL公司推出的仿真器,目前常用的是其升级版本,即U-LINK2(如图1-37所示)和U-LINK Pro。U-LINK/U-LINK2可以配合KEIL软件实现仿真功能,增加了SWD接口、返回时钟和实时代理等功能。J-LINK和U-LINK2与ST-LINK的区别是J-LINK与U-LINK2目前支持所有ARM芯片的开发。
图1-36 J-LINK仿真器
图1-37 U-LINK仿真器
3.ST-LINK
ST-LINK(如图1-38所示)是ST公司专门针对STM8系列和STM32系列微控制器开发的仿真器,目前已被大多数的ARM集成开发环境支持,如MDK、IAR等主流集成开发环境。
图1-38 ST-LINK仿真器
本书使用的是图1-38中右图所示的ST-LINK仿真器,在使用之前需要安装ST-LINK仿真器的驱动,读者可在ST官网下载ST-LINK仿真器的驱动,如图1-39所示。
图1-39 ST-LINK仿真器的驱动(图片引自ST官网)
双击下载的ST-LINK仿真器驱动即可按照向导进行安装,驱动安装完成后单击“Finish”按钮即可退出安装,如图1-40所示。接下来要在KEIL中配置ST-LINK仿真器。
图1-40 ST-LINK仿真器的驱动安装
打开KEIL,单击工具条中的“
”按钮(Options for Target),如图1-41所示,即可打开仿真器配置界面。
图1-41 单击工具条中的“
”按钮
仿真器配置界面如图1-42所示,选择“Debug”选项卡,在“Debug Adapter”中选择“ST-LINK/V2”,设置“Port”后,单击“确定”按钮后就可以使用ST-LINK仿真器下载程序了。
图1-42 仿真器设置界面
至此,集成开发环境就搭建完成了,我们就可以使用集成开发环境进行微控制器的开发。