STM32: 新建库函数工程

建立 STM32_FW 文件夹

  1. 获取 ST 公司提供的 STM32 固件库 en.stsw-stm32054.zip, 得到文件夹STM32F10x_StdPeriph_Lib_V3.5.0。新建文件夹,命名为STM32_FW,在该文件夹下新建 7 个文件夹,分别命名为boot,cmsis,library,user,obj,list,interrupt.

  2. 负责粘贴

    • STM32F10x_StdPeriph_Lib_V3.5.0STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm找到 8 个文件

      将上面 7 个文件复制到 boot 目录下。此为 STM32 的启动文件,是汇编语言格式,每个 STM32 必须有启动文件。

    • STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下找到

      这 3 个文件,以及STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport

      两个文件,将这 5 个文件复制到STM32_FWcmsis目录中,此为 STM32 的 BSP 文件,负责基本的内核及外设初始化。

    • 复制STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_DriverincsrcSTM32_FWlibrary中,这两个文件夹为 STM32 的固件函数库文件。

    • 复制STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template

      STM32_FW的 interrupt 中,此为 STM32 在 MDK 下的中断服务入口函数。

    • 复制STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Templatestm32f10x_conf.hSTM32_FWuser目录下。

    • STM32_FWuser中新建main.c

    执行完后就得到如下目录结构。

    •  STM32_FW\boot 目录:startup_stm32f10x_cl.s、startup_stm32f10x_hd.s、 startup_stm32f10x_hd_vl.s、startup_stm32f10x_ld.s、startup_stm32f10x_ld_ vl.s、startup_stm32f10x_md.s、startup_stm32f10x_md_vl.s、startup_ stm32f10x_xl.s

    • STM32_FW\interrupt 目录:STM32f10x_it.h、STM32f10x_it.c

    •  STM32_FW\cmsis 目录:core_cm3.c、core_cm3.h、stm32f10x.h、system_ stm32f10x.c、system_stm32f10x.h

    • STM32_FW\user 目录:main.c、stm32f10x_conf.h

    • STM32_FW\library 目录:inc、src 文件夹

    • STM32_FW\list 目录:空

    •  STM32FW\obj 目录:空

建立工程

  1. 新建一个文件夹,放本次工程文件,如proj,将STM32_FW的文件夹全部复制到改文件夹目录下。

  2. 打开 keil, 选择 Project->New uVision Project,

    保存后,选择芯片类型,取消添加 STM32 的 Stertup code

  3. 在项目管理目录窗口下点击 Manage Projects items, 将 Target 重命名为 Proj, 并删除 Source Group 1, 在级联菜单选择Add Group,将 boot,cmsis,library,interrupt,user 添加进去。