在Keil MDK中创建STM32F4系列的工程模板(标准外设库)

一、前往ST官网下载标准外设库

  ST 官网地址 https://www.st.com/content/st_com/en.html

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  如无法下载,请先注册并登陆ST账号,然后再尝试下载。

二、根据个人风格创建文件夹目录

如:
  BSP 目录存放板级支持包
  Doc 目录存放文档资料
  App 目录存放用户应用代码
  Library 目录存放官方标准库
  Custom 目录存放自定义库文件
  Thirdparty 目录存放第三方库文件
  CMSIS 目录存放内核头文件
  Project 目录存放工程文件
  OBJ 目录存放编译中间文件

三、创建MDK工程,创建分组

  1)创建新的工程文件,并根据个人习惯保存在所需目录;

在这里插入图片描述
  2)选择合适的芯片型号(需已安装好相应的芯片包);

在这里插入图片描述

  3)点击“管理工程项目”,根据个人风格创建组(Groups),用于对不同类型文件或不同功能的源文件进行分组管理,一般工程下每个文件夹对应一个组(Group)比较好,不容易混乱;

在这里插入图片描述
在这里插入图片描述

四、添加系统启动必要源文件

  将源文件添加到对应的组(Group),对于STM32F4系列MCU来说,必要的源文件有三个:

  1、main.c(编写我们的main函数)

  2、startup_stm32f4xx.s(启动文件,用于初始化堆栈和中断向量表,根据实际所用型号选择对应的启动文件)
STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm目录下存放了STMF4系列所有MCU的启动文件。

  3、system_stm32f4xx.c(系统时钟配置、Flash配置及其他配置等初始化)
STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates目录下存放有此文件。

在这里插入图片描述

五、添加头文件路径

  设置头文件包含路径,将ST官方标准库中的两个include文件夹和一个inc文件夹路径添加进去即可(最好复制到工程目录相应的文件夹下)。

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Include
这个目录下是CMSIS相关的头文件

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include
这个目录下是系统初始化相关的头文件

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver\inc
这个目录下是片上外设模块相关的头文件

在这里插入图片描述

在这里插入图片描述

六、定义预处理符号

  在C/C++选项设置中,根据实际所用型号的芯片定义对应的预处理符号,具体可参考前面下载的ST官方标准库中 STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates\MDK-ARM 路径下的readme.txt文件;

在这里插入图片描述
在这里插入图片描述

七、时钟配置

  需要 特别注意 的一点是——必须根据实际使用的HSE时钟源频率来定义 HSE_VALUE 宏的值,可以在stm32F4xx.h头文件中直接修改此宏的值,或者如步骤6所示直接定义一个预处理符号

  定义的预处理符号会先于所有文件中的宏生效,又因stm32F4xx.h头文件中使用了 #if !defined (HSE_VALUE)HSE_VALUE 宏做了防重复定义处理,所以stm32F4xx.h中的 HSE_VALUE 宏不会生效。

在这里插入图片描述

  要使用预处理符号的方式定义一个宏并设置一个值,请使用 宏名=值 的语法,这相当C预处理器 #define 语句 #define 宏名 值

  修改HSE_VALUE宏的值后,还要在system_stm32F4xx.c源文件中修改PLL预分频系数,该文件默认将SYSCLK系统时钟配置为最高支持的频率。

  标准库文件默认外部晶振频率为25MHz,PLLM系数也默认为25,即默认主PLL输入时钟为1MHz。因此,假如我们实际的外部晶振频率为8MHz,则我们只需修改HSE_VALUE为8000000,同时修改PLLM为8即可配置SYSCLK系统时钟为最高频率了。

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Keil-MDK是一种嵌入式软件开发工具,可以兼容STM32F4系列芯片的支持STM32F4系列芯片是意法半导体推出的一款高性能微控制器系列,内含ARM Cortex-M4内核。这些芯片广泛应用于各种领域的嵌入式系统开发。Keil-MDK的支持为开发者提供了简化开发流程、减少编程工作量的便利。 Keil-MDK的支持可以帮助开发者通过抽象的接口,快速访问STM32F4系列芯片的功能和外设。通过这些支持,开发者可以方便地使用芯片上的GPIO口、定时器、USART、ADC等外设,而无需深入了解底层硬件细节。支持还提供了一些高级功能,如断控制、DMA等,可加快开发进度。 Keil-MDK的支持具有高度可移植性,支持不同型号的STM32F4芯片。通过简单的配置,开发者可以轻松选择合适的芯片型号,并利用相同的代码在不同的芯片上进行开发。这种可移植性大大简化了嵌入式系统的开发过程,提高了开发效率。 总之,Keil-MDKSTM32F4系列芯片支持为开发者提供了通用的接口和功能,简化了嵌入式系统的开发流程,提高了开发效率。开发者可以轻松地利用这些进行芯片的驱动开发和应用程序的编写。 ### 回答2: Keil MDK是一款开发软件,适用于基于ARM Cortex-M内核的微控制器。在Keil MDK,有一个支持可以帮助开发者更加方便地使用STM32F4系列芯片。 STM32F4系列芯片是由STMicroelectronics开发的一款微控制器,该系列芯片采用了ARM Cortex-M4内核,具有强大的处理能力和丰富的外设资源。而Keil MDK的支持,专门针对STM32F4系列芯片进行了优化和适配。 通过使用Keil MDKSTM32F4系列支持,开发者可以方便地访问芯片的各种外设,如GPIO、USART、SPI、I2C等,并进行相关配置和控制。此外,支持还提供了丰富的API函数,大大简化了开发过程,使开发者可以更加高效地编写代码。 Keil MDKSTM32F4系列支持还提供了相应的驱动程序,可以帮助开发者快速启动项目并进行调试。同时,支持还包含了一些实用工具和示例代码,可以帮助开发者更好地理解和应用芯片的功能。 总之,Keil MDKSTM32F4系列支持为开发者提供了丰富的工具和资源,使他们能够更加轻松地开发基于STM32F4系列芯片的应用程序。无论是初学者还是有经验的开发者,都可以通过使用这个支持,快速、高效地实现自己的项目。 ### 回答3: Keil MDKKeil公司开发的嵌入式软件开发工具,主要用于ARM处理器的软件开发。STM32F4系列是意法半导体公司推出的一款高性能的32位微控制器系列,它们在Keil MDK具备完整的支持。 在Keil MDKSTM32F4系列芯片支持提供了丰富的软件资源,以帮助开发人员进行STM32F4系列芯片的开发工作。这些支持包括了各种驱动程序、函数和例程,以支持各种外设的操作和功能实现。 首先,STM32F4系列芯片支持提供了标准外设驱动程序,包括GPIO、USART、SPI、I2C、ADC等,这些驱动程序简化了对外设的配置和控制,使开发者可以更加方便地使用这些外设,并且提高了开发效率。 其次,STM32F4系列芯片支持还包括了各种函数,例如操作系统(RTOS)支持、射频(RF)支持、USB支持等。这些函数提供了丰富的功能接口,使开发者可以直接调用这些接口来实现相应的功能,从而避免了重复编写代码的工作。 另外,STM32F4系列芯片支持还提供了大量的应用实例和示例代码,这些代码可以帮助开发者更好地理解和使用STM32F4系列芯片的各种功能。通过参考这些示例代码,开发者可以快速上手,减少开发周期。 总之,Keil MDKSTM32F4系列芯片支持为开发者提供了丰富的软件资源,使得开发者能够更加便捷地进行STM32F4系列芯片的软件开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值