zoukankan      html  css  js  c++  java
  • 认识固件库(一)

    我们使用STM32固件库,就需要了解官方提供的固件库包结构。

    文件夹介绍:

          固件库包的Libraries下有CMSIS和STM32F10x-StdPeriph-Driver两个目录,这其中包含了所以固件库核心的所有子文件夹河子文件。

    STM32F10x-StdPeriph-Driver   //目录下为固件库源代码;
    CMSIS //启动文件,有inc和src两文件夹,放置stm32f10x-xxx.h和stm32f10x-xxx.c,每个外设对应一个文件;
    Project //存放ST官方提供实例源码;

    文件介绍:

    core-cm3.c core-cm3.h                     //提供进入Cortex-M3内核接口,Coresupport目录下
    system-stm32f10x.c system-stm32f10x.h     //设置系统以及时钟总线,DeviceSupport目录下
    stm32f10x.h                               //多结构体以及宏定义,DeviceSupport目录下
    startup-stm32f10x-ld.s
    startup-stm32f10x-md.s
    startup-stm32f10x-hd.s                    //对于103系列主要有三个启动文件分别为小、中、大容量

          启动文件主要是进行堆栈之类的初始化、中断向量表以及中断函数定义。启动文件要引导进入main函数。Rest-Handler中断函数是唯一实现的中断处理函数,其他的中断函数基本是死循环:

    Rest handler
    Reset-Handler PROC
    EXPORT Reset-Handler
    IMPORT
    --main
    IMPORT SystemInit
    LDR R0,=SystemInit
    BLX R0
    LDR R0,=--main
    BX R0
    ENDP

    如上这段代码在系统启动之后,首先调用SystemInit系统初始化函数,再进入main函数。

     

  • 相关阅读:
    windows上npm yarn.ps1,因为在此系统上禁止运行脚本
    windows批量启动服务
    Typora极简教程
    Markdown修改字体颜色
    markdown锚点
    R语言报错long vectors not supported yet qap_encode.c 36
    MAC OS 解决R语言locale问题
    Java调用R语言
    MQL4编程—值传递和引用传递
    二分法查找
  • 原文地址:https://www.cnblogs.com/lwangj/p/5060025.html
Copyright © 2011-2022 走看看