STM32
直播中

吕钢格

7年用户 958经验值
私信 关注
[问答]

介绍STM32F1工程建立的步骤

怎样去开发一种STM32F1单片机呢?
STM32F1工程建立都有哪些步骤?

回帖(1)

陈欢兆

2021-11-25 09:45:47
相比51单片机,STM32单片机开发难度相对较高,工程比51单片机也大了不少。许多朋友在学习STM32之初很容易卡建立工程这一步,本文根据自己的经验向大家介绍STM32工程建立的步骤(以KEIL、STM32F1系列为例)。
STM32F1系列模板下载地址
1 准备

  开发STM32需要具备以下条件:


该网址属于外网,可以通过迅雷接管下载提高下载速度
2 建立工程

2.1 文件目录

  STM32工程文件相对较多,通过多个文件夹管理不同类型的文件便于工程的管理、移植。下例为我常用的文件目录。
  
   

  
2.2 创建工程




  • 点击红色箭头指向的选项,选择工程路径为template/pro,输入工程名字



  • 选择芯片型号,示例选择的是STM32F103ZET6(Z代表的是引脚数量,E代表的是芯片内存大小)



  • 遇到该窗口可以直接选择ok,不用进行额外的勾选(也可以在这里进行文件的配置,但我直接使用的是标准库,所以不需要进行这些操作)





2.3 添加文件




  • 接下来就是创建KEIL工程目录了,点击红色箭头指向的方向(该目录最好与文件目录中的src子目录一致)



  • 工程目录创好之后如下(Groups中的内容就是工程目录,第三个框框Files是往目录添加文件)




    这里我省略添加文件的过程,结果如下:
    main文件夹下存放的文件





    core文件夹下存放的文件









    stdlib文件夹下存放的文件









keil里面添加的文件










startup_stm32f10x_hd.s为启动文件,该文件的选取与芯片型号有关主要与如:STM32F103ZET6中的E有关,前面启动文件中的h为大内存产品,一般有l,m,h三种类型的启动文件,分别对应小内存、中等内存、大内存产品。芯片型号中的的E位置的字母排序越靠后内存越大





stdlib这里可以只添加需要的源文件,但一开始不熟悉模块可以全部添加
注:hardware为用户自定义的驱动文件,在使用的时候自行添加进去就可以
2.4 配置工程

  STM32使用了较多的宏,且运行机制较为复杂,所以需要对工程进行配置,前面完成了工程创建,文件添加,接下来需要对工程进行配置。
2.4.1 添加宏定义

首先打开魔法棒





添加宏定义,在红色方框中输入STM32F10X_HD,USE_STDPERIPH_DRIVER
STM32F10X_HD与选择的芯片型号有关,与前面选择的startup_stm32_hd.s相对应。产品容量规格在stm32 datasheet中有说明





该选项也可以填写其他的定义,每个宏定义之间用,隔开,该宏定义对程序所有文件都适用
2.4.2 添加头文件路径

  与上面宏定义添加同一个界面,添加头文件目录包含(只有添加了头文件路径编译器在编译时才能找到头文件,所有需要用到的头文件路径都需要添加)





已添加路径的页面





3 编译工程






红色箭头指向的两个按键都可以编译,第一个箭头指向的是部分编译(只编译修改过的文件),第二个是完全编译(编译工程中所有的的C文件)。建议使用部分编译(速度快)。编译之后输出0 Errors, 0 Warnings表示编译成功(有警告可能不会影响编译结果,有错误一定编译失败)。至此,整个工程就新建完成了,之后在使用过程可以根据自己要求添加模块。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分