第二章 STM32开发工具介绍及使用

发布时间 2023-04-02 03:32:51作者: TeDreamkiller

2.1 认识MDK-ARM

  Keil MDK-ARM是由美国Keil公司开发的(现已被ARM公司收购)一款集成开发环境(IDE),专门用于嵌入式系统开发。它支持多种微处理器架构和编程语言,包括ARM Cortex-M0、M3、M4等系列微控制器。

  Keil MDK-ARM提供了完整的项目管理、调试、性能优化和测试工具,并且集成了ARM编译器、调试器和IDE,使得开发者可以在一个环境中完成整个开发流程。此外,Keil MDK-ARM还提供了许多优秀的特性,如:

  1、支持多种编程语言:Keil MDK-ARM支持C、C++、Assembly等多种编程语言,可以满足不同开发者的需求。

  2、代码生成工具:Keil MDK-ARM自带了Code Generator,可以帮助开发者快速生成代码框架和驱动程序,提高开发效率。

  3、简单易用的调试器:Keil MDK-ARM自带了uVision Debugger,可以帮助开发者实时监测代码执行状态、内存使用情况等,提高调试效率。

  4、集成的版本控制:Keil MDK-ARM集成了Version Control System(VCS),可以帮助开发者更好地管理代码版本和变更记录。

  5、完善的文档和示例代码:Keil MDK-ARM提供了丰富的开发文档和示例代码,帮助开发者更快速地上手。

  总的来说,Keil MDK-ARM是一款功能强大的开发工具,适用于各种规模的项目和不同层次的开发人员。

2.2 MDK-ARM的安装及注册

  在编写代码开发STM32时需要先安装MDK软件,STM32常用开发软件是Keil,本流程中使用的是Keil_5.37版本,安装完成后可以在工具栏help中的about u Vision 选项卡中查看版本信息。如需要最新版软件可以通过官方网站(https://www.keil.com/download/)下载,这里提供Keil_5.37版本下载地址:(链接:https://pan.baidu.com/s/1bIkoA0j313yEtwNdHMODbA 提取码:187r)

  首先自行从文档中提供的网盘链接下载Keil_5.37安装包,下载完成后打开文件夹就能够看到Keil_5.37安装包图标,如图:

2.2.1 MDK-ARM软件的安装

  安装MDK-ARM的步骤如下:

  (1)在下载的文件夹中右键单击MDK537.EXE,选择【以管理员身份运行】(如图2-1所示),完成后即会弹出安装界面(如图2-2所示)。

△图2-1 运行Keil_537

△图2-2 安装启动界面

  (2)在图2-2中单击【Next >>】按钮,弹出安装【License Agreement】界面,如图2-3所示。

图2-3 【License Agreement】

  (3)在图2-3中勾选【I agree to all the terms of the preceding License Agreement】选项,然后单击【next >>】按钮,弹出选择安装路劲界面,这里我选择的是D:盘下的目录,也可以使用默认路径,注意在选择安装路径时尽量选择全英文路径,如图所示

  (4)在图2-4中分别单击Cor与Pack后面的【Browse】按钮更改安装路径,这里我两个项目使用的路径一致,完成后单击【Next >>】按钮,弹出【Customer Information】定制信息,按要求填写名称、公司名称、电子邮件等信息,如图2-5所示。

  (5)在图2-5中单击【Next >>】按钮,软件开始安装,弹出【Setup Status】对话框,如图2-6所示。

  (6)软件安装完成,在弹出的对话框中点击【Finis】按钮,如图2-6所示。

  (7)单击【Finis】完成按钮后,或弹出器件安装对话框,这里可以直接退出器件安装界面,用我提供的器件包安装即可,如图2-8所示。

图2-8 器件选择安装对话框

2.2.2 芯片包的安装

  安装好 MDK-ARM 软件之后,不能直接使用该软件来编译工程,这是因为每一种嵌入式处理器都有其对应的底层驱动,而芯片的安装包中就包含其中的驱动当软件安装完成时,并不会自行安装芯片包,由于芯片的种类很多,因此需要根据自己的需求来安装芯片的安装包。接下来介绍如何安装芯片包。

  方法一:进入芯片安装包的官网(https://www.keil.com/dd2/Pack/#/eula-container)下载对应得芯片安装包。

  方法二:使用我提供的网盘链接下载芯片安装包。

  (1)芯片安装包的获取(链接:https://pan.baidu.com/s/1i3pbbMj55uRhDJpwZv45pg 提取码:yx41)

  (2)通过网盘链接下载后,能够得到7个芯片包,STM32F103ZET6对应的是Keil.STM32F1xx_DFP.2.2.0.pack芯片包,如图2-9所示。

图2-9 网盘下载芯片包

  (3)安装F1系列芯片包,在如图2-9所示选中F1系列芯片包,鼠标双击直接打开安装界面,在弹出的对话框中选择【Next >>】按钮,如图2-10所示。

图2-10 芯片包安装启动界面

  (4)等待芯片包安装完成,如图2-11所示。

  (5)芯片包安装完成后点击【Finis】按钮结束F1系列芯片包的安装,如图2-11所示。

2.2.3 MDK-ARM软件的注册

  (1)获取 MDK-ARM 软件的注册程序(链接:https://pan.baidu.com/s/1vjYh-r3bo70bxSAIjsivxA提取码:eq1z)。

通过百度网盘获取到注册程序后会得到如图2-12所示的程序,选中注册程序右键点击选择【以管理员身份运行(A)】,如图2-13所示。

图2-12 MDK-ARM 软件注册程序

△图2-13 注册程序运行界面

  (2)MDK-ARM 软件的正式注册,返回电脑桌面找到MDK-ARM软件图标选中,鼠标右键选择【以管理员身份运行(A)】(如图2-14所示),注意在MDK-ARM软件注册时一定要以管理员身份运行不然当正式注册时会不成功,这点在本章末以附录的形式呈现。

图2-14 运行MDK-ARM软件开始注册

  (3)以管理员身份运行Keil软件后即可进入到keli软件的主界面中,此时在主界面顶部的状态栏中找到【File】执行【License Management...】选项,如图2-15所示。

图2-15 Keil 软件主界面

  (4)执行完【License Management...】后即会弹出导入注册号弹窗,在此界面我们需要复制 CID 号码,如图2-16所示。

图2-16 导入注册号弹窗界面

  (5)复制完成 CID 号后,返回 MDK-ARM 软件注册程序,将复制的 CID 号填入到注册软件的【CID】选项栏中(如图2-17所示),在同界面下选择【Target】下拉选框选择ARM,找到【Generate】单击,会弹出对应的注册号,复制这个注册号返回 Keil 软件。

  (6)复制注册程序给出的注册号后,回到 Keil 软件导入注册号弹窗界面,将我们复制的注册号填入弹窗的【New License ID Code (LIC)】选项框中(如图2-18所示)并点击【Add LIC】按钮,完成后就可以看到如图2-19所示的MDK-Lite部分显示Expires:Dec 2032,及完成了软件的注册,此时就能正常使用Keil开发STM32了。

图2-18 导入注册号弹窗界面

△图2-19 软件注册完成界面

2.3 Keil软件的使用以及工程的建立

2.3.1 Keil软件的基本功能

  Keil 软件提供了许多功能和工具,可以帮助开发人员开发、编译、调试和烧录嵌入式系统中的代码。以下是Keil软件的基本功能和作用:

  编辑器:Keil软件提供了内置的代码编辑器,支持多种编程语言,包括C、C++、ARM汇编语言和8051汇编语言等。开发人员可以使用这个编辑器编写和编辑代码。

  编译器:Keil软件集成了C和C++编译器,以及针对不同芯片架构的汇编语言编译器。编译器可以将代码转换成可执行文件,以供后续的调试和烧录。

  调试器:Keil软件的调试器支持单步调试、断点调试、实时监控变量值和内存内容等。开发人员可以使用调试器来检测代码的执行流程、定位代码中的错误,并且在实际的硬件上测试代码的正确性。

  烧录器:Keil软件的烧录器支持多种烧录方式,例如JTAG、SWD和ISP等,可以将编译好的程序烧录到目标芯片中,以便进行测试和验证。

  仿真器:Keil软件提供了仿真器功能,可以模拟目标芯片的行为和外围设备的交互,帮助开发人员在没有实际硬件的情况下进行测试和调试。

  代码分析器:Keil软件集成了代码分析器,可以对代码进行静态分析,检测代码的错误和潜在问题,以帮助开发人员改善代码的质量和可靠性。

  总之,Keil软件作为一款嵌入式开发工具,具有代码编辑、编译、调试、烧录、仿真、代码分析等多种功能,可以帮助开发人员提高开发效率和代码质量。

2.3.2 Keil软件工程的建立

  Keil 工程的建立这里主要介绍两种:第一种直接使用 Keil 软件建立工程;第二种是直接使用我提供的工程模板进行开发。

  注:这里不建议直接使用Keil软件直接建立工程,建议使用我们建好的工程模板去开发代码。

2.3.2.1使用Keil软件建立工程

  1、打开Keil软件:双击打开Keil软件,进入主界面。

  2、创建新工程:在主界面上,点击“Project”菜单,选择“New uVision Project”选项。

  3、为工程取一个工程名并选择保存路径。

  4、选择芯片:在弹出的“New Project”对话框中,选择对应的芯片型号。

  5、新建 main.c文件,即代码编辑区并选择保存的路径,这里建议将 main.c文件保存在工程目录下。

 

  6、将 main.c 文件与工程建立连接,双击工程界面左侧的工程目录栏找到"Soure Group 1"右键选择""Add Existing File to Group "Soure Group 1""选项,在弹出的对话框中选择刚保存的 main.c 文件,添加完成后会都到下右图中的文件结构,这样工程就初步建立好了,能够正常编写代码。

 

 

2.3.2.2使用工程模板搭建开发环境

  1、获取工程模板(链接:https://pan.baidu.com/s/1n73OBvby636xHTuWaOJ4mg 提取码:iw43)。

 

 

  2、下载完成后,去到文件目录下找到 ”Project“ 文件夹,双击找到 ”BH-340.uvprojx“工程,双击即可打开。

  3、使用我们提供的工程模板打开工程,进行编译以及构建生成可执行文件。

  ①代码编译工具,可用于代码排错。

  ②代码到可执行文件的转换工具,可以将我们编写的代码转换成芯片能够执行的文件。

  ③代码编译工具与代码转换工具的集合,可一步进行代码编译和转换。

  ④批量编译和批量清理工具

  ⑤代码下载工具

  4、对工程模板中的代码编译后在软件界面控制台会得到如图所示的结果 0错误以及0警告。

2.4 附录:

  1、当我们在软件注册时不使用【以管理员身份运行(A)】会出现的错误如下图所示

解决办法就是关闭程序,从新打开一次并以管理员身份运行即可。

  2、Keil 软件的实用配置

  (1)魔术棒工具

  Keil软件中的Options for Target工具是一个用于配置目标设备及其编译和调试选项的强大工具。该工具允许您为不同的目标设备创建和配置多个项目,并设置编译选项、连接选项和调试选项。Options for Target工具主要包括以下几个方面:

  Target设备选项:您可以通过该选项选择您正在使用的目标设备,并设置它的参数,例如片上存储器的大小和地址、时钟频率、中断向量表等。

  C/C++编译选项:该选项用于设置编译器的参数,例如优化级别、警告级别、预定义宏等。您还可以通过该选项添加库和头文件的搜索路径。

  Assembler选项:该选项用于设置汇编器的参数,例如预定义宏、列表输出、错误检查等。

  Linker选项:该选项用于设置连接器的参数,例如堆栈大小、代码段和数据段的地址、调试信息、库等。

  Debug选项:该选项用于配置调试器的参数,例如仿真器接口、Flash编程器、调试选项、调试信息等。

  使用Options for Target工具,可以轻松地为目标设备创建和配置多个项目,并根据需要进行更改。该工具的设置还可以导出和导入,使我们可以方便地分享和备份配置设置。

  (2)软件需要设置的几个点,便于日常代码编写。

  ①Editer 选项窗口

  ②Colors & Fonts 选项窗口

  ③Text Completio 选项窗口