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函数。

     

  • 相关阅读:
    Linux 之 编译器 gcc/g++参数详解
    linux下history命令显示历史指令记录的使用方法
    Linux 命令之 Navicat 连接 Linux 下的Mysql数据库
    Linux命令
    CentOS 下安装
    CMD命令之 :修改windows的CMD窗口输出编码格式为UTF-8
    CTO、技术总监、首席架构师的区别
    PHP ServerPush (推送) 技术的探讨
    一个公司的管理层级结构
    Table of Contents
  • 原文地址:https://www.cnblogs.com/lwangj/p/5060025.html
Copyright © 2011-2022 走看看