zoukankan      html  css  js  c++  java
  • 关于 CMSIS 标准 及 STM32F10x的固件库

    CMSIS 标准英文全称是Cortex MicroController Software Interface Standard,翻译为中文意思就是 ARM Cortex 微控制器软件接口标准。

    由于基于 Cortex 核的芯片厂商很多,不单只是 ST 公司,为了解决不同厂家的 Cortex 核芯片软件兼容的问题,ARM 和这些厂家就建立了这套 CMSIS 标准。

    在 CMSIS 框架内 又分为3个基本功能层

    1. 核内外设访问层:ARM 公司提供的访问,定义处理器内部寄存器地址以及功能函数
    2. 中间件访问层:定义访问中间件的通用 API,由 ARM 提供,芯片厂商根据需要更新。
    3. 外设访问层:定义硬件寄存器的地址以及外设访问函数,比如 ST 公司提供的固件库外设驱动文件(stm32f10x_gpio.c)就是在这个访问层。

    总的来说,CMSIS 就是统一各芯片厂商固件库内函数的名称

    比如系统初始化的时候使用的是 SystemInit 这个函数名,那么 CMSIS 标准就是强制所有使用 Cortex核设计芯片的厂商 固件库系统初始化函数必须为这个名字,不能修改。

    由比如 对 GPIO 口输出操作的函数 GPIO_SetBits,此函数名也不是随便定义的。

    core_cm3.h

    此文件术语 CMSIS 标准文件,是用来提供 M3 内核的接口文件,术语 CMSIS 的核心文件,由 ARM 提供。对于所有 M3 内核芯片来说,这个文件都是相同的。

    system_stm32f10x.h

    是片上外设介入层系统头文件。主要是申明设置系统及总线时钟相关函数。

    其对应源文件是 system_stm32f10x.c 。这个文件里面有一个非常重要的 SystemInit() 函数声明。这个函数在系统启动时候会被调用,用来设置整个系统和总线时钟。

    stm32f10x_ppp.c 文件是 STM32 外设的驱动源文件,比如 stm32f10x_gpio.c 文件

    stm32f10x_it.c 文件用于存放中断函数。

  • 相关阅读:
    总结CSS3新特性(颜色篇)
    JavaScript的一些小技巧(转)
    CSS3中的calc()
    使用 Google Guava 美化你的 Java 代码
    Hibernate Validator验证标签说明
    SQL语法粗整理
    DruidDataSource配置属性列表
    IntelliJ Idea 常用快捷键列表
    curl命令使用(转)
    spring纯java注解式开发(一)
  • 原文地址:https://www.cnblogs.com/aiyauto/p/7634393.html
Copyright © 2011-2022 走看看