zoukankan      html  css  js  c++  java
  • STM32固件库

    一、STM32固件库开发和传统寄存器开发方式的区别

    二、CMSIS标准

      CMSIS标准--Cortex Microcontroller Software Interface Standard,是ARM公司为了解决不同SOC厂商生产不同的Cortex某系类芯片的软件兼容性问题,与芯片厂商建立的软件内核标准。

    1、Cortex-M3芯片架构(硬件结构)

    2、CMSIS标准(软件结构)

    三、STM32固件库

    1、文件结构

    2、关键文件夹和相关文件说明

    ① 顶层目录

    • _htmresc    内含CMSIS图标和ST图标
    • Libraries  文件夹下是驱动库的源代码及启动文件
    • Project    用驱动库写的例子和一个工程模板
    • Utilities       基于ST官方开发板的例程
    • stm32f10x_stdperiph_lib_um.chm 库使用帮助文档

    ② CMSIS目录

      主要是ARM公司为Cortex-M3提供的内核操作接口。

    1. CoreSupport         

      ARM公司为Cortex-M3提供的内核操作接口

      core-cm3.c、core-cm3.h的作用是为采用Cortex-M3核设计SOC的芯片厂商设计的芯片提供一个进入CM3内核的接口。

    2. DeviceSupport      

      ST公司为STM32F10X系类提供的与内核相关的文件,包含启动文件、外设寄存器定义和中断向量定义层的文件。

    • startup目录下的startup_stm32f10x_**.s          Cortex-M3芯片的启动汇编文件
    • stm32f10x.h           此文件把stm32f10x的所有外设的特殊功能寄存器地址全都定义了
    • system_stm32f10x.c     此文件配置stm32的系统时钟和总线时钟
    • system_stm32f10x.h        system_stm32f10x.c对应的头文件

    ③ STM32F10x_StdPeriph_Driver

       这个文件夹下的内容是ST公司为STM32F10X芯片的所有外设--SOC厂商在Cortex-M3核外加进去的设备--开发的库。

    • src 包含每个外设的库函数文件
    • inc  包含每个外设的库函数文件对应的头文件

      其中需要额外说明的是一个特别的文件misc.c,它提供了外设对内核中的NVIC--中断向量控制器--的访问函数,在配置中断时,需要将这个文件添加到工程中。

    ④ STM32F10x_StdPeriph_Template

    • main.c 用户主函数文件
    • stm32f10x_conf.h      用来配置使用了什么外设的头文件,当定义宏USE_STDPERIPH_DRIVE时被stm32f10x.h所包含
    •  stm32f10x_it.c         ST公司专门为编写中断服务程序预留了函数,这些函数接口在汇编文件中已经被定义了。
    • stm32f10x_it.h          stm32f10x_it.c对应的头文件

    四、总结STM32固件库

    1、遵循CMSIS标准的STM32软件结构

    2、用户使用库时的必备文件

    C文件

    • startup_stm32f10x_**.s
    • system_stm32f10x.c
    • core-cm3.c
    • stm32f10x_it.c

    头文件

    • system_stm32f10x.h
    • stm32f10x.h 
    • core-cm3.h
    • stm32f10x_it.h 
    • stm32f10x_conf.h

    参考:STM32库开发实战指南

  • 相关阅读:
    Python for Infomatics 第14章 数据库和SQL应用四(译)
    展望2017
    bing的简单英文字典工具
    自我安慰
    Python for Infomatics 第14章 数据库和SQL应用三(译)
    Python for Infomatics 第14章 数据库和SQL应用二(译)
    Python for Infomatics 第14章 数据库和SQL应用一(译)
    希望父亲早日恢复
    Python for Infomatics 第13章 网页服务四(译)
    Python for Infomatics 第13章 网页服务三(译)
  • 原文地址:https://www.cnblogs.com/amanlikethis/p/3714546.html
Copyright © 2011-2022 走看看