hanlinson-20581 发表于 2014-4-9 21:49:55

【MCU实战经验】+STM32F103标准库结构的全面剖析

   本文主要讲解STM32F20x_StdPeriph_Lib_V3.5.0库的结构以及关于如何快速移植库函数中example代码的心得。
  首先分享一下ST公司出品的官方开发板的原理图和PCB(回复即可下载)

 
官方开发板配合STM32F10x_StdPeriph_Lib_V3.5.0一起分析STM32,让我们更加深刻理解STM32的精髓。
下面正式讲解库,该讲解同样适用于STM32F10x_StdPeriph_Lib_V3.5.0库以及其他类似库。
1:解压包描述
  想要充分利用STM32F10x_StdPeriph_Lib_V3.5.0,首先要对STM32F10x_StdPeriph_Lib_V3.5.0文件夹里面的内容有一个初步认识。第一步打开一个STM32F10x_StdPeriph_Lib_V3.5.0, 包含以下文件夹:

该固件库主要包含三个文件夹,Libraries、project、utilities.
1.1  Libraries文件夹结构
 这个文件夹包含所有CMSIS文件和STM32F2xx Standard Peripheral Drivers(STM32F20xx标准外设驱动)。
library文件夹结构图如下图所示:

CMSIS 子文件夹
该文件夹包含STM32F2xx和Cortex-M3 CMSIS文件:
•Cortex-M CMSIS文件包含函数名定义,地址定义,以及Cortex-M3内核寄存器和标准接口定义
• STM32F2xx CMSIS 文件夹包括:
-  stm32f2xx.h:该文件包括所有接口寄存器定义 ,位定义和STM32F2xx 设备存储器映射,当开发时,它是唯一需要在开发C代码工程中声明的H文件(include“stm32f2xx.h”),通常是在main.c中声明。
­­­­­­‐system_stm32f2xx.c/.h:该文件包含STM32F2xx 设备的系统时钟配置.其中的SystemInit()函数功能为启动系统时钟,PPL倍频器和分频器配置,AHB/APBx和flash的设置.该函数将在复位或者连接主函数时候调用.
    ‐ startup_stm32f2xx.s:该文件包含 Cortex-M3内核启动代码和所有STM32F2xx设备操作的中断向量 .
    STM32F2xx_StdPeriph_Driver 子文件夹
该子文件夹为库的核心,包含所有外设接口的源文件和头文件,用户不需要去修改它.
      inc 子文件夹包含接口驱动的头文件.
      src子文件夹包含接口驱动的源文件.
1.2  Project文件夹结构
该文件夹包括模板工程和外设例子,它的结构如下图所示:

STM32F2xx_StdPeriph_Template子文件夹
该文件夹包含所支持的开发工具的模板工程(例如MDK开发工具),使用该文件夹下的工程时需要添STM32F10x_StdPeriph_Examples文件夹中的不同外设,以达到用户不同的功能.
STM32F2xx_StdPeriph_Examples子文件夹 
该子文件夹包含不同功能的外设main函数,要使用这个文件夹里面的内容只需把某个文件夹中的所有文件复制到工程的main函数中,下面举一个例子说明如何使用STM32F2xx_StdPeriph_Examples和STM32F2xx_StdPeriph_Template文件夹:
第一步打开库路径为:C:\Users\hanlindon\Desktop\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples的文件夹,如图:

打开ADC文件夹后可以看到如下场景,我们要把ADC里面的所有文件复制下来:

把刚才复制的文件黏贴到下面的路径

现在我打开MDK工程

打开工程后编译没有错误(具体情况如下图):

现在我们利用这个ADC例程来了解官方是如何建立工程的:

现在我们看看这个工程的

做到这一步我想您可能已经知道该如何把各种外设添加到模板工程里面了,今天我介绍具体移植代码。
现在继续介绍Utilities文件夹
1.3  Utilities文件夹结构
该文件夹包含STM评估板实物外设接口例如(按键, LEDs, LCD and 串口 (USARTs))
Utilities结构如下:

 
 
 
 
 
 

heise362707296 发表于 2014-4-18 15:50:40

RE:【MCU实战经验】+STM32F103标准库结构的全面剖析

教程很全面细致。不错。

jy04706985 发表于 2014-4-25 10:36:39

回复:【MCU实战经验】+STM32F103标准库结构的全面剖析

 拿分~~~

chjg2009 发表于 2014-4-28 14:37:30

RE:【MCU实战经验】+STM32F103标准库结构的全面剖析

基本讲解了库函数的使用 很好

liuchangyin 发表于 2014-4-28 23:37:01

RE:【MCU实战经验】+STM32F103标准库结构的全面剖析

:L有错别字

waterwj1984-174 发表于 2014-5-21 17:31:29

RE:【MCU实战经验】+STM32F103标准库结构的全面剖析

感谢分享   很好的资料

任我学 发表于 2018-6-6 17:27:17


感谢分享 长见识了
页: [1]
查看完整版本: 【MCU实战经验】+STM32F103标准库结构的全面剖析