STM32开发工具介绍及使用
Posted kermanxin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32开发工具介绍及使用相关的知识,希望对你有一定的参考价值。
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 选项窗口
STM32CubeMX介绍及安装
STM32CubeMX介绍及安装
介绍
STM32CubeMX是被广泛使用的。它集成了芯片选型、引脚分配和功能配置,中间件配置,时钟配置,初始代码和项目的功能。其中STM32CubeMX和STM32Cubeprogrammer,除了对所有STM32芯片系列,和所有应用的通用支持之外,还有一些对特定应用的支持,比如STM32Cube.AI就是基于STM32CubeMX的插件功能,来把训练好的模型部署到STM32上;还比如在安全固件升级和安全固件安装,即SBSFU和SFI操作里,STM32CubeProgrammer就启动了代码加密,HSM实例化等功能。STM32支持丰富的开源和ST自主知识产权中间件,比如来自开源社区的FreeRTOS,FatFS,mbedTLS;ST自己的USB主机和设备协议栈,TouchGFX等。
因此除了对外设各种功能的工作模式和参数进行配置, 当我现在的应用需用用到FreeRTOS,我不仅可以勾选并使能上该组件,还可以对FreeRTOS进行配置,比如内核配置可以设置是否支持抢占、系统嘀嗒的间隔;可以在这里以图形化界面的方式创建信号量、互斥量、创建任务等。所有这里的配置,都会影响到最后产生的初始化代码。
STM32CubeMX下载安装
下载
- 官网:www.st.com/stm32cubemx
- 我下载好上传的安装包:https://download.csdn.net/download/qq_44629109/86399008
安装
- 解压压缩包后双击安装程序
- STM32CubeMX的安装比较简单,基本一路Next下去就行,该勾选的勾选上即可。
3. 选第一个即可
4. 选择自己的安装路径
注:不能在中文路径下安装
5. 更改目录,同意
6. 剩下的就一直下一步就行了
安装HAL库
STM32 HAL固件库是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32产品的最大可移植性。HAL库的推出,可以说ST也慢慢的抛弃了原来的标准固件库,这也使得很多老用户不满。但是HAL库推出的同时,也加入了很多第三方的中间件,有RTOS,USB,TCP / IP和图形等。
和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植并且从16年开始,ST公司就逐渐停止了对标准固件库的更新,转而倾向于HAL固件库和 Low-layer底层库的更新,停止标准库更新,也就表示了以后使用STM32CubeMX配置HAL/LL库是主流配置环
HAL库,有在线安装、离线安装两种方式。意见使用在线安装,简单省事。
- 打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages(如果第一打开有提示界面,选最后一个 NO thank 就可以了)
- 然后选择你的芯片型号,安装既可以了( 点击“Install Now” )
- 等待完成就可以了
HAL库地址
后续
欢迎关注公众号:物联网知识。
以上是关于STM32开发工具介绍及使用的主要内容,如果未能解决你的问题,请参考以下文章
STM32调试诊断工具 | STM32CubeMonitor介绍下载安装和使用教程