作为初学者,在学习建立stm32工程这一步已觉得十分繁琐。跟着视频课将步骤捋了一遍。步骤上肯定还有简化的部分,比如建立文件夹、复制文件可以一起进行,keil里建组可以一起进行,配置可以一起进行。

所涉及到的固件库:STM32F10x_StdPeriph_Lib_V3.5.0

以下是具体笔记:

  • 建立STM32工程

  • 1.标准外设固件库介绍

  • htmresc:装图标的文件夹没什么用

  • libraries:库函数的文件

  • libraries-cmsis-cm3-devicesupport-st-stm32f10x-startup-arm这里的文件就是STM32的启动文件

  • libraries-cmsis-cm3-devicesupport-st-stm32f10x 这里的stm32f10.h,就是stm32外设寄存器描述文件;两个system文件是用来配置时钟的

  • libraries-cmsis-cm3-coresupport中的两个cm3文件是内核的寄存器描述

  • libraries-stm32f10x_stdperiph_driver-src 这里就是库函数源文件。其中misc是内核的库函数,其他的是外设库函数

  • libraries-stm32f10x_stdperiph_driver-inc 这里就是库函数头文件。其中misc是内核的库函数,其他的是外设库函数

  • project:官方提供的工程示例和模板

  • project-stm32template 其中conf文件时用来配置库函数头文件的包含关系的,两个it文件是用来存放中断函数的

  • utilities:官方评估版

  • 库函数的发布文档以及使用手册

  • 2.建立工程

  • 1.新建一个存放工程的文件夹,例如名为STM32project,以后所有的工程都放这里

  • 2.打开keil5-project-new μvision project-选择STM32project-新建一个文件夹存放本次工程如stm32工程模板-继续点进文件夹起个project保存

  • 3.选择芯片型号,弹出的新建工程小助手关掉

  • 4.工程已建好,但是工程文件是空的,需要添加工程必要文件

  • 打开stm32工程模板文件夹

  • 新建start文件夹,把固件库-libraries-cmsis-cm3-devicesupport-st-stm32f10x-startup-arm这里的文件粘贴过来

  • 还是在start文件夹,把固件库-libraries-cmsis-cm3-devicesupport-st-stm32f10x里的stm32f10.h和两个system文件粘贴过来

  • 还是在start文件夹,把固件库-libraries-cmsis-cm3-coresupport中的两个cm3文件粘贴过来

  • 回到keil软件,把刚才复制的文件添加到工程里来

  • target1分支下新建start,右键,选择添加已经存在的文件到组里来,打开start文件夹,文件过滤器选择all files,选择startup_stm32f10x_md.s,剩下的.c和.h文件都要添加进来,总共start下是6个文件

  • 这里的文件都是STM32里最基本的文件,是不需要修改的

  • 所添加的.s文件根据STM32的型号选择

  • 点击魔术棒按钮,打开工程选项,在C/C++里,include paths栏,点击右边三个点,新建路径,再点三个点的按钮,把start路径添加进来

  • 回到stm32工程模板文件夹

  • 新建user文件夹,main函数就放在这里

  • 回到keil里,target右键,添加组,命名为user

  • user上右键,选择添加新文件,选择C文件,名字叫main,下面的路径选择user文件夹,点击add

  • 进入main.c里,右键插入头文件,选择stm32f10x.h

  • 写一个main函数,while死循环,注意文件最后一行必须是空行不然会报警告。编译一下看看是否0错误0警告

  • 到这里没有添加库函数,如果只用寄存器开发,工程可以就建到这里

  • 在keil扳手图标中设置字体、字号、tab size

  • 在keil魔术棒按钮中选择debug,把默认调试器ulink改为stlink debugger;右边setting-flashdownload勾选reset and run。否则每次下载之后还需按一下板子上的复位键才能执行程序

  • 回到stm32工程模板文件夹

  • 新建library文件夹,用来存放库函数,将固件库-libraries-stm32f10x_stdperiph_driver-src 下的所有文件粘贴过来;再将固件库-libraries-stm32f10x_stdperiph_driver-inc 下的所有文件粘贴过来

  • 回到keil,target右键,添加组,命名library

  • library右键,添加已经存在的文件,打开library,选中所有文件并添加,这样所有的库函数就都添加进来了

  • 将固件库-project-stm32template 中conf文件和两个it文件粘贴到工程的user目录下

  • 回到keil,在user组里,右键添加已存在的文件,把上面一步中的三个文件添加进来

  • 最后还需要一个宏定义。在代码框里的头文件上右键,打开文件,滑倒最下面。在8296行复制 use_stdperiph_driver,打开魔术棒,C/C++-define栏粘贴刚才的字符串,这样才能包含标准外设库(库函数)

  • 下面的头文件路径(include paths)把user、library也添加进来

  • 最后可以点击三个箱子按钮,把library往上挪一下(不用改的放在最上面)

  • 作者:wty25

    物联沃分享整理
    物联沃-IOTWORD物联网 » 建立STM32工程的流程

    发表回复