ARM嵌入基础应用 13_第1页
ARM嵌入基础应用 13_第2页
ARM嵌入基础应用 13_第3页
ARM嵌入基础应用 13_第4页
ARM嵌入基础应用 13_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章

MDK软件与

工程模板创建作者:黄克亚2025年5月本章概要CONTENTSSTM32固件库概述STM32固件库目录结构KeilMDK软件模拟仿真调试KeilMDK工程模板的创建STM32固件库下载KeilMDK软件操作方法3.1STM32固件库认知建立工程模板需要从指定路径找到必要文件,要想很好地完成这一任务,我们需要首先认识固件库。3.1STM32固件库认知3.1.1STM32固件库概述ST公司提供的STM32F10x标准外设库是基于STM32F1系列微控制器的固件库进行STM32F103开发的一把利器。可以像在标准C语言编程中调用printf()一样,在STM32F10x的开发中调用标准外设库的库函数,进行应用开发。STM32F10x的固件库是一个或一个以上的完整的软件包(称为固件包),包括所有的标准外设的设备驱动程序,其本质是一个固件函数包(库),它由程序、数据结构和各种宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API。通过使用固件函数库,无须深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。3.1STM32固件库认知第一步:输入网址,打开ST官方网站,在首页搜索栏输入“stm32f10x”。3.1.2STM32固件库下载点击“SOFTWARE”按钮,登陆、著作权确认之后,即可将该固件库下载到的本机上3.1STM32固件库认知3.1.3.STM32固件库目录结构LOGO图标库函数与启动文件驱动示例工程模板ST官方开发板例程更新说明帮助文件3.1STM32固件库认知3.1.3.STM32固件库目录结构Libraries文件夹Libraries文件夹存放STM32F10x开发要用到的各种库函数和启动文件,其目录下包括CMSIS和STM32F10x_StdPeriph_Driver两个子文件夹1)CMSIS子文件夹STM32F10x的内核库文件夹,其核心是CM3子文件夹,在CM3子目录下有CoreSupport和DeviceSupport等两个文件夹。3.1STM32固件库认知3.1.3.STM32固件库目录结构a)CorcSupport文件夹Cortex-M3核内外设函数文件夹:Cortcx-M3内核通用源文件core_cm3.cCortcx-M3内核通用头文件core_cm3.hb)DeviceSupport文件夹设备外设支持函数文件夹:STM32F0x头文件stm32f10x.h系统初始化文件system_stm32f10x.c3.1STM32固件库认知3.1.3.STM32固件库目录结构本书配套开发板使用的STM32F103ZET6微控制器属于STM32F103的大容量产品,因此,它对应的启动代码文件为startup_stm32f10x_hd.s。3.1STM32固件库认知3.1.3.STM32固件库目录结构2)STM32F10x_StdPeriph_Driver文件夹STM32F10x_StdPeriph_Driver子文件夹为STM32Fl0x标准外设驱动库函数目录,包括了所有STM32F10x微控制器的外设驱动。文件夹下有两个子目录:src和inc。src子目录:src是source的缩写,该子目录下存放ST为STM32F10x每个外设而编写的库函数源代码文件。inc子目录:inc是include的缩写。该子目录下存放STM32F10x每个外设库函数的头文件。3.1STM32固件库认知3.1.3.STM32固件库目录结构Project文件夹Project文件夹对应STM32F10x标准外设库体系架构中的用户层,用来存放ST官方提供的STM32F10x工程模板和外设驱动示例1)STM32F10x_stdPeriph_Template子文件夹TM32F10x_stdPeriph_Template子文件夹,是ST提供的STM32F10x工程模板目录,包括了5个开发工具相关子目录和5个用户应用相关文件。开发工具:MDK-ARM、EWARM、HiTOP、RIDE和TrueSTUDIO相关文件:main.c、stm32f10x_it.c、stm32f10x_it.h、stm32f10x_conf.h和system_stm32f10x.c3.1STM32固件库认知3.1.3.STM32固件库目录结构2)STM32F10x_StdPeriph_Examples子文件夹STM32F10x_StdPeriph_Examples子文件夹,是ST提供的STM32F10x外设驱动示例目录。Utilities文件夹Utilities文件夹用于存放ST官方评估板的BSP(BoardSupportPackage,板级支持包)和额外的第三方固件。3.2工程模板创建本节介绍KeilMDK-ARM软件的安装、使用,并创建一个自己的MDK工程模板,该工程模板是后续学习的基础。3.2工程模板创建3.2.1MDK-ARM开发环境配置MDK-ARM简介01KeilMDK-ARM也称Keil、KeilMDK、MDK-ARM,是适用于基于Codex-M、Codex-R4、ARM7、ARM9和ARM11处理器的设备的完整软件开发环境。MDK-ARM软件主要特点如下:完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件。行业领先的ARMC/C++编译工具链。确定的KeilRTX,小封装实时操作系统(带源码)。μVision5IDE集成开发环境,调试器和仿真环境。TCP/IP网络套件提供多种的协议和各种应用。提供带标准驱动类的USB设备和USB主机栈。为带图形用户接口的嵌入式系统提供了完善的GUI库支持。执行分析工具和性能分析器可使程序得到最优化。大量的项目例程帮助你快速熟悉MDK-ARM强大的内置特征。符合CMSIS(Cortex微控制器软件接口标准)。3.2工程模板创建3.2.1MDK-ARM开发环境配置MDK-ARM下载02在Keil官网()首页,单击顶端Download链接,出现一个Overview页面,继续单击ProductDownloads选择项,选择MDK-ARM。MDK-ARM,适用于ARM内核开发工具3.2工程模板创建3.2.1MDK-ARM开发环境配置MDK软件安装03双击下载完成的MDK535.EXE可执行文件启动安装程序,单击Next按钮,同意许可协议,进入安装路径设置,默认安装于C盘,也可手动修改为其他英文路径。3.2工程模板创建3.2.1MDK-ARM开发环境配置器件包安装04在MDKV5.35安装完成后,还要安装STM32F1的器件支持包。安装分为在线安装和离线安装两种,推荐采用离线方式安装。MDK-ARM、器件包和注册软件均可以从以下链接获取。环境配置资源:/s/1Pz4Q5j7rpHLO4gTcXKnp0Q?pwd=95273.2工程模板创建3.2.1MDK-ARM开发环境配置MDK-ARM注册05找到KeilμVision5快捷方式,右键选择以管理员身份运行。单击File→LicenseManagement菜单项,打开授权管理对话框,将图中ComputerID填写到注册软件CID文本框,注册目标选择ARM,版本选择Professional,复制软件生成的LicenseID,并填写到图中NewLicenseIDCode(LIC)编辑框,单击ADDLIC按钮完成注册。注册成功会在授权管理对话框显示使用期限和“***LICAddedSuccessfully***”提示信息。下载注册软件关闭病毒防护3.2工程模板创建3.2.2工程模板的创建创建工程模板素材01创建工程模板素材主要是内核固件库,另外还有两个重要的预定义命令,位于模板素材文件夹。工程模板创建步骤02第一步:创建或复制文件夹(1)在桌面创建Template文件夹。(2)复制固件库中的Libraries文件夹到Template文件夹。(3)创建User文件夹,并复制main.c、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h文件到该文件夹中。上述文件路径为:F10x_Lib_V3.6\Project\STM32F10x_StdPeriph_Template,3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02(4)创建“MDK”文件夹,用于存放工程文件和输出文件。(5)创建“APP”文件夹,用于存放用户编写的外设驱动程序3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02第二步:新建工程文件,对文档进行分组(1)在开始/程序或桌面快捷方式中启动KeiluVision5软件。(2)依次单击菜单栏Project→newμvisionProject命令,弹出如图所示的窗口,表示新建一个工程文件,并需要我们选择保存路径。此时将保存路径选择为Template/MDK,文件名为Template。C3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02(3)单击上图中的“保存”按钮,弹出选择芯片的对话框,由于实验平台使用的是STM32F103ZET6芯片,故选择CPU为STM32F103ZE。3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02(4)单击上图中的“OK”按钮,此时弹出运行环境配置对话框,这是Keilμvision5的一项新功能,可以自动帮助用户向工程中添加文件,且无需设置包含路径。

运行环境配置过程如图所示,首先单击CMSIS和Device组件前面的“+”号展开列表,然后分别勾选CMSIS组件中CORE模块和Device组件中的Startup模块后面的复选框,这本质上是将固件库的内核支持文件和器件支持文件添加到工程,最后单击“OK”确定。3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02(5)建立分组并添加文件依次单击Project→Manage→components,Environment或直接单击工具栏图标打开ManageProjectItems窗口,在此窗口界面中的Groups项中,先删除原来的SourceGroup1,然后依次添加User、ST_Driver和APP分组,并为每个分组添加相应的源文件User:main.c、stm32f10x_it.c。ST_driver:stm32f10x_gpio.c、stm32f10x_rcc.c。APP:此分组下面还没有文件,由用户编写。3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02第三步:选择编译器,添加预编译变量,包含头文件路径(1)依次单击菜单Project→Optionsfortarget或直接单击工具栏图标,打开如图所示的Optionsfortarget‘target1’对话框。(1)依次单击菜单Project→Optionsfortarget或直接单击工具栏图标,打开如图3-30所示的Optionsfortarget‘target1’对话框。

3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02(2)在“Target”选项卡中选择编译器ARMCompiler为Usedefaultcompilerversion5,即使用编译器5,此时C/C++选项卡的名称也由图中的“C/C++(AC6)”变换为“C/C++”,其操作界面如图所示。使用编译器5相较于编译器6有更好的兼容性。3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02(3)在Output选项卡中勾选CreateHEXFile复选框,输出文件夹已默认设置为MDK\Object,无需更改。3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02(4)在“C/C++”选项卡中,在“Define”区域添加两个重要的预编译命令:“USE_STDPERIPH_DRIVER,STM32F10X_HD”,这两个预编译命令存放在素材文件夹中的“两个重要的预编译指令.txt”文件中,操作界面如图所示。3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02(5)在如上图所示的“C/C++”选项卡中,单击“IncludePath”后面的按钮,打开包含文件夹路径设置对话框。将工程中可能需要用到的头文件所在路径全部包含进来。操作结果如图所示。3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02(6)在“Debug”选项卡中选中UseSimulator单选按钮,其操作界面如图所示。至此工程文件OptionsforTarget选项已全部配置完成,单击“OK”退出。3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02第四步:创建main.h文件,重写main.c文件,编译调试(1)依次单击菜单Project→Optionsfortarget或直接单击工具栏图标,打开如图3-30所示的Optionsfortarget‘target1’对话框。

(1)在KeilμVision5工程文件界面中,依次单击File→New新一个空白文件,并将其以文件名main.h保存到Template\User文件夹下,在main.h文件中输入以下代码:#ifndef_MAIN_H#define_MAIN_H#include“stm32f10x.h”#endif3.2工程模板创建3.2.2工程模板的创建工程模板创建步骤02(1)依次单击菜单Project→Optionsfortarget或直接单击工具栏图标,打开如图3-30所示的Optionsfortarget‘target1’对话框。

(2)将原main.c中的程序删除,写一个main的空函数,并包含公共头文件“main.h”。#include"main.h"intmain(){

}(3)依次单击Project→Rebuildalltargetfiles或直接单击工具栏图标对整个工程进行编译,直至没有编译错误出现为止。3.3软件模拟仿真KeilMDK同样提供了强大的软件模拟仿真功能,对于暂不具备硬件平台的学习者也可以通过模拟仿真学习嵌入式开发。3.3软件模拟仿真第一步:创建项目工程,并编译生成目标文件在上一节创建的工程模板中main.c文件中输入图方框中的源程序,该程序用于在PC0端口输出方波信号,项目只是用于讲解KeilMDK软件仿真操作,其代码较为简单。3.3软件模拟仿真第二步:将调试方式设置为软件模拟仿真方式在KeilMDK的工程管理窗口中,选中刚才编译链接成功的Target1工程,打开0ptionforTarget‘Target1’对话框。在该对话框中,选择Debug选项卡,选中左侧的UseSimulator单选按钮,同时设置左侧CPUDLL为SARMCM3.DLL和Parameter为空,并设置左侧DialogDLL为DARMSTM.DLL和Parameter

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论