STM32固件库

时间:2022-09-09 17:53:36

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

STM32固件库

二、CMSIS标准

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

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

STM32固件库

2、CMSIS标准(软件结构)

STM32固件库

三、STM32固件库

1、文件结构

STM32固件库

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软件结构

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库开发实战指南

STM32固件库的更多相关文章

  1. STM32固件库文件分析

    STM32固件库文件分析 1.汇编编写的启动文件 startup/stm32f10x.hd.s:设置堆栈指针,设置pc指针,初始化中断向量,配置系统时钟,对用c库函数_main最后去c语言世界里. 2 ...

  2. STM32固件库详解

    STM32固件库详解   emouse原创文章,转载请注明出处http://www.cnblogs.com/emouse/ 应部分网友要求,最新加入固件库以及开发环境使用入门视频教程,同时提供例程模板 ...

  3. 第9章 初识STM32固件库

    第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  4. 第9章 初识STM32固件库—零死角玩转STM32-F429系列

    第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  5. (一)STM32固件库详解(转载)

    本篇博文是转载自emouse,因为不能直接转载,所以是复制过来再发布的. emouse原创文章,转载请注明出处http://www.cnblogs.com/emouse/   1.1 基于标准外设库的 ...

  6. 在IAR(EWARM)中移植STM32固件库

    一.移植环境说明 (1).win10系统 (2).IAR(EWARM)7.7 (3).STM32标准固件库3.5.0 http://www.st.com/content/st_com/en/produ ...

  7. STM32固件库模板下载以及固件库学习方法

    固件库模板下载 固件库模板新建过程: 下载我们上节的固件库文件 电脑新建一个文件夹命名为Fwlib-Template,在此文件夹下分别新建DOC Libraries Project User 这四个文 ...

  8. STM32固件库和自定义工程模板

    固件库结构 本文使用的固件库是STM32F10x_StdPeriph_Lib_V3.5.0,可以在官网获取.该固件库包含四个文件夹和一个库的说明文档,如下图所示,stm32f10x_stdperiph ...

  9. STM32固件库3.5+uCOS2.86移植(转自暴走的工程师)

    考了很多移植的资料和代码,终于移植好了...应该是完美移植吧~~哈哈哈~~ 编译环境是IAR 工程适用于STM32F10X大容量产品,如果不是,请自行修改启动文件和工程配置 编译器优化等级最高...这 ...

随机推荐

  1. MBW内存测试

    在测试前,理应了解本机所具备的特点,比如CPU频率.内存频率.内存大小,等等信息. 查看CPU用如下命令(多少个核,频率,特性等): cat /proc/cpuinfo 查看内存用如下命令:(只有当前 ...

  2. 【HDOJ】1502 Regular Words

    大数+DP,感觉这个DP有点儿抽象,而且这个是大数,wa了很多次. #include <stdio.h> #define MAXNUM 61 #define MAXLEN 100 type ...

  3. 【转】VIRTUALBOX导入已有&period;VDI文件步骤

    原文网址:http://blog.csdn.net/wanghai__/article/details/6703923 1.安装SUN VIRTUALBOX 2.新建,进入到“新建虚拟电话”对话框,下 ...

  4. 【ACM&sol;ICPC2013】线段树题目集合(一)

    前言:前一段时间在网上找了一个线段树题目列表,我顺着做了一些,今天我把做过的整理一下.感觉自己对线段树了解的还不是很深,自己的算法能力还要加强.光练代码能力还是不够的,要多思考.向队友学习,向大牛学习 ...

  5. Android和C&num;实时视频传输Demo

    说起去年的Demo.以今天的免费整齐优势. 原理很easy,虽然没有写android申请书.但,好了~ 高级语言是相通的.傲慢约.就这么简单研究了一下api后,找到相机对象有一个预览回调方法. 意识到 ...

  6. 记录各种IE兼容问题&comma;IE6&comma;IE7&comma;IE8&comma;IE9&comma;IE10

     记录遇到的IE BUG:  1.IE8开发者工具打不开 解决办法:IE8新增了开发人员工具,非常不错,比早期的DevToolbar好用多了.不过在我的Win7下 使用的时候偶尔会出现一个莫名其妙的问 ...

  7. MySQL InnoDB锁机制

    概述: 锁机制在程序中是最常用的机制之一,当一个程序需要多线程并行访问同一资源时,为了避免一致性问题,通常采用锁机制来处理.在数据库的操作中也有相同的问题,当两个线程同时对一条数据进行操作,为了保证数 ...

  8. 旅游类的APP原型模板分享——Priceline

    Priceline是一款旅游服务的APP应用.功能有查找预订酒店.车票.机票等服务. 本原型由国产Mockplus(原型工具)和iDoc(智能标注,一键切图工具)提供. 先简单看看动图: 点击这里,可 ...

  9. maven 细节 —— scope、坐标

    对于 idea 开发环境,测试代码便是在 src/test/java(该java目录会在创建时标注为测试文件夹) 目录下的 .java 代码为测试代码: 1. scope scope的分类 compi ...

  10. Android-Cannot merge new index 66195 into a non-jumbo instruction的解决办法

    转载请注明来源:http://blog.csdn.net/goldenfish1919/article/details/33729679 用eclispe打包的时候报错: [2014-06-23 13 ...