工程必要文件:(前带点的是必须要的文件,启动文件对应芯片类型只要一个,外设库看具体需求)
- core_cm3.c 为那些采用 Cortex-M3 核设计的芯片外设提供一个进入M3内核接口
- core_cm3.h
- system_stm32f10x.c 设置系统以及总线时钟
- system_stm32f10x.h
- stm32f10x_it.c 用于编写中断服务函数
- stm32f10x_it.h
- stm32f10x_conf.h 增加或删除Driver目录下的外设驱动函数库。
- stm32f10x.h 系统寄存器定义申明以及包装内存操作
- 启动文件(根据对应芯片flash选择对应的启动文件):
- startup_stm32f10x_cl.s 互联型产品,stm32f105/107系列
- startup_stm32f10x_hd.s 高密度产品,FLASH大于128K
- startup_stm32f10x_hd_vl.s 超值型产品,stm32f100系列
- startup_stm32f10x_ld.s 低密度产品,FLASH小于64K
- startup_stm32f10x_ld_vl.s
- startup_stm32f10x_md.s 中等密度产品,FLASH=64 or 128
- startup_stm32f10x_md_vl.s
- startup_stm32f10x_xl.s 超高密度(容量)产品,stm32f101/103系列
启动文件的作用:启动文件是任何处理器在上电复位之后最先运行的一段汇编程序。
- 初始化堆栈指针SP
- 初始化程序计数器指针PC
- 设置堆、栈的大小
- 设置异常向量表的入口地址
- 配置外部SRAM作为数据存储器(由用户设置)
- 设置C库的分支入口——main(调用main函数)
- 3.5版的启动文件还调用system_stm32f10x.c文件中的SystemIni()函数配置系统时钟
- 外设库函数:
- misc.c 外设对内核中NVIC(中断向量控制器)访问函数,配置中断时必须要有这个文件
- stm32f10x_adc.c 模数转换器
- stm32f10x_bkp.c 备份寄存器
- stm32f10x_can.c 控制器局域网模块
- stm32f10x_cec.c CEC网络模块
- stm32f10x_crc.c CRC计算单元
- stm32f10x_dac.c 数模转换器
- stm32f10x_dbgmcu.c 提供了所有DBGMCU固件功能
- stm32f10x_dma.c 直接内存存取控制器
- stm32f10x_exit.c 外部中断时间控制器
- stm32f10x_flash.c 闪存存储器
- stm32f10x_fsmc.c 灵活的静态存储控制器
- stm32f10x_gpio.c 通用输入输出
- stm32f10x_i2c.c 内部集成电路
- stm32f10x_iwdg.c 独立看门狗
- stm32f10x_pwr.c 电源/功耗控制
- stm32f10x_rcc.c 复位与时钟控制器
- stm32f10x_rtc.c 实时时钟
- stm32f10x_sdio.c SD卡接口
- stm32f10x_spi.c 串行外接口
- stm32f10x_tim.c 通用定时器
- stm32f10x_usart.c 通用同步异步接收发射端
- stm32f10x_wwdg.c 窗口看门狗