已经简单的学习了GPIONVICEXTISYSTICK这几个方面的大概;通过点亮LED灯,通过按键控制灯的亮灭,按键中断,LED延时等等,虽说只是些小程序,但这些小程序其实是依靠了STARM成熟的技术支持才得以实现出现的,下面就看看他们具体做了什么?

ARM处理器相关函数:

启动文件:

  1. 初始化堆栈指针
  2. 初始化程序计数器(Reset_handler
  3. 初始化中断向量表
  4. 配置系统时钟
  5. 调用C库函数_main初始化用户堆栈,从而最终调用main函数去执行C代码

core_cm3.h文件:

  1. 封装内核外设的寄存器,抽象成为结构体(NVIC_Type
  2. 内核外设寄存器的定义
  3. 内核外设的内存映射及声明
  4. 内核外设的相关函数的具体实现(主要是NVICSysTICk等)
  5. 不同编译器的具体设置

Core_cm3.c文件:

  1. 一些汇编级函数的具体实现

stm32f10x.h文件:

  1. 处理器及片上外设的中断号定义
  2. 封装片上外设的寄存器,抽象成为结构体(TIM_TypeDef
  3. 片上外设的内存映射及声明    #define TIM2    ((TIM_TypeDef *) TIM2_BASE)
  4. 内核及片上外设的寄存器的位定义
  5. 包含了所有外设的头文件

system_stm32f10x.h

  1. 声明系统时钟初始化和更新函数

system_stm32f10x.h

  1. 定义时钟的相关函数

 

ST库函数:

misc.h文件 :

  1. 定义NVIC初始化结构体
  2. Vector_Table_BaseSystem_Low_PowerPreemption_Priority_GroupSysTick_clock_source
  3. 声明NVIC相关函数,SysTick相关函数

misc.c文件:

  1. 定义NVIC相关函数,SysTick相关函数

stm32f10x_片上外设.h文件:

  1. 定义外设模式配置结构体
  2. 定义外设初始化结构体(GPIO_InitTypeDef包含结构0个或多个结构体1
  3. 声明相关函数

stm32f10x_片上外设.c文件:

  1. 定义相关函数

以上仅为对应文件的部分概括。

 

posted on 2018-06-22 16:13  lzd626  阅读(778)  评论(0编辑  收藏  举报