STARTUP:启动文件夹 里面包含了一个startup_stm32f10x_hd.s 这个文件就像是一个熔炉 将所有需要的文件连接为一个整体
CMSIS:包含了core_cm3.c 和 system_stm32f10x.c 两个文件 分别是内核相关的函数 以及系统相关的函数:
核内外设访问层Core Peripheral Access Layer(CPAL),中间件访问层Middleware Access Layer(MWAL),设备访问层(Device Peripheral Access Layer)。
CPAL 用于访问内核的寄存器和组件,如NVIC,调试系统等。该层是由ARM实现的。 由core_cm3.c实现
MWAL 用于对中间件的访问,现在该层还未实现。(也不知道所谓的中间件是什么东西)。
DPAL 用于定义一些硬件寄存器的地址和一些外设访问函数,由芯片制造商实现。 由system_stm32f10x.c 实现
FWLIB: 最重要的是misc.c是CMSIS的附加文件 有关于NVIC的一些函数
此文件提供所有杂项固件功能(CMSIS 功能的附加功能)。
USER:用户相关的函数,由用户自己实现
一般包含主函数文件 为程序入口 ,bsp_xxx.c文件为外设的板级支持包,当程序移植到其他型号的板子上的时候可能会需要更改引脚
如果没有这个包我们就要去程序中大量的修改引脚,所以如果我们将他们集中分类在一个文件里,这样修改量就会减少很多。
定义了 STM32F10X_HD和USE_STDPERIPH_DRIVER 于是编译器为每个文件都define 这两个量
会将stm32f10x_conf.h包含进stm32f10x.h中 让main.c可以使用这个文件
这个文件相当于所有外设的头文件的开关,用到哪个就将它取消注释即可