认识固件库(一)
2015-12-19 23:13
246 查看
我们使用STM32固件库,就需要了解官方提供的固件库包结构。
文件夹介绍:
固件库包的Libraries下有CMSIS和STM32F10x-StdPeriph-Driver两个目录,这其中包含了所以固件库核心的所有子文件夹河子文件。
文件介绍:
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中断函数是唯一实现的中断处理函数,其他的中断函数基本是死循环:
如上这段代码在系统启动之后,首先调用SystemInit系统初始化函数,再进入main函数。
文件夹介绍:
固件库包的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函数。
相关文章推荐
- [转]js中confirm实现执行操作前弹出确认框的方法
- Android布局问题: No resource found that matches the given name (at 'layout_above' with value @id/tv)
- C语言SOCKET学习
- YARN ResourceManager 进程异常退出问题追查
- python 根据标题获取窗口句柄,根据句柄取得进程号,关闭进程
- Hibernate常出现的报错
- 期末小结
- C#类型转换中关于“四舍六入,五看奇偶”
- 在ie下,a标签包被img的时候,为什么有个蓝色的边线
- python学习笔记之基础二(第二天)
- php 冒泡排序 快速排序
- Yocto tips (1): Yocto 编译后文件放在了哪里 输出文件位置
- DSOJ 中缀表达式求值
- MFC简易计算器
- Hadoop HDFS DN 内核Bug
- Android 之一张图片搞定数据加载进度条+各种颜色效果,任性的不得了
- Android开发必知的50个诀窍之一
- UESTC 653 扫雷 模拟
- 嵌入式外部中断控制编程方法论—比较CC2541(51核)和S5PV210(ARM核)
- Winform自定义控件—Button(下)