IAR基于固件库建立STM32工程

 本文以 STM32F103C8T6 为例,进行工程的建立。本文建立工程的目录如下,各个文件夹的作用在图中标注。
IAR基于固件库建立STM32工程

1. ST官网下载相应的固件库

 可以参考 ST官网下载固件库 - 百度经验 或者 ST官网下载固件库 - CSDN博客

2. 复制启动文件

 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar 文件夹下面的 .s 文件复制到自己的工程文件夹下的bsp目录下。具体使用哪个启动文件要依据自己的芯片型号和FLASH大小进行选择,本例中FLASH大小为64KB,选择md.s
IAR基于固件库建立STM32工程
 其中 ld:低密度产品,FLASH小于64K
   md:中等密度产品,FLASH=64 or 128
   hd:高密度产品,FLASH大于128

3. 复制 system 相关文件

 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下的 .c 和 .h 文件复制到自己的工程目录下的bsp目录下。 IAR基于固件库建立STM32工程

4. 复制 driver 文件

 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下的 inc 和 src 文件夹复制到自己的工程目录下的 driver 目录下。
IAR基于固件库建立STM32工程

5. 复制 .icf 链接文件

 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\EWARM 下的4个 .icf 文件复制到自己的工程目录下的bsp目录下。
 .icf 是链接文件,对于基本的应用,这个.icf文件足以满足你的工程需要。但有时也会需要改动,比如当你的项目要添加外部RAM时就要修改一下icf。可参考下面两篇文章 STM32中stm32f0xx_flash.icf文件的作用详解菜鸟详解iar的icf文件
IAR基于固件库建立STM32工程

6. 复制中断相关文件

 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下的3个文件复制到自己的工程目录下的bsp目录下,具体文件见下面截图。
IAR基于固件库建立STM32工程

7. 效果展示

 至此所有文件均已复制完毕。最终文件夹显示结果如下图所示。
 bsp 目录如下:
IAR基于固件库建立STM32工程
 doc 目录如下:
IAR基于固件库建立STM32工程
 driver 目录如下:

IAR基于固件库建立STM32工程
 usr 目录如下:
IAR基于固件库建立STM32工程