STM32下载&&新建并配置工程

本文主要介绍STM32新建工程的方法。对比51单片机新建工程的简单操作,STM32新建工程较为复杂。文中详细说明了准备工作,包括所需开发板、下载器等,还阐述了创建文件夹、新建工程、复制文件、配置工程等具体步骤,以及针对正点原子探索者的收尾操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STM32新建工程

学过51单片机的朋友都知道,51单片机新建工程用keli新建工程点几下就好了,下载程序更是选好hex文件点击下载,复位一下就好。现在学到了STM32了,可就没那么简单了,我们看下怎么做!

准备

  • 正点原子STM32——探索者开发板(STM32F407ZGT)
  • miniUSB公口B型*1
  • ST-Link下载器*1
  • 电源*1
  • 下载"STM32F4xx固件库"

新建工程

1. 创建文件夹

创建一个Template的文件夹→在里面分别创建CORE、USER、FWLIB四个文件夹

Template
CORE
FWLIB
USER
OBJ

2.新建工程

打开keli5,依次点击
project→New Uvision Project

将目录地址定位到Template的USER

保存为Template.uvproj

选择正确的芯片型号

点击OK

3.复制文件

既然是库函数版本,那么就要复制对应固件包里面的文件,也就是一些头文件和一些.c文件


  1. 解压固件包(固件包下载
  2. 进入解压后的文件夹,进入路径:\STM32F4xx_DSP_StdPeriph_Lib_Vx.x.x\Libraries\STM32F4xx_StdPeriph_Driver复制里面的src、inc两个文件夹到Template的FWLIB里面
  3. 进入路径:\STM32F4xx_DSP_StdPeriph_Lib_Vx.x.x\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm
    ,复制里面的startup_stm32f40_41xxx.s到CORE目录下
  4. 进入路径:\STM32F4xx_DSP_StdPeriph_Lib_Vx.x.x\Libraries\CMSIS\Includ复制四个头文件:core_cm4.h 、core_cm4_simd.h 、core_cmFunc.h以及core_cmInstr.h到CORE文件夹内
  5. 进入路径:STM32F4xx_DSP_StdPeriph_Lib_Vx.x.x\Libraries\CMSIS\Device\ST\STM32F4xx\Include,将里面的2个头文件 stm32f4xx.h和system_stm32f4xx.h 复制到USER目录之下(两个头文件尤其重要!!!)
  6. 进入目录\STM32F4xx_DSP_StdPeriph_Lib_Vx.x.x\Project\STM32F4xx_StdPeriph_Templates ,
    将目录下面的5个文件main.c,stm32f4xx_conf.h,stm32f4xx_it.c,stm32f4xx_it.h,system_stm32f4xx.c 复制到USER目录下面

4.配置

当已经复制好了文件就需要添加进去,这个时候就需要配置了!不然你在文件夹存放好那些文件MDK也不知道在哪里啊!在第2步已经新建了一个文件夹了,那么就切换到keli开始配置


  1. 创建组
    右键点击左侧栏的Target1,选择Manage Project Items在左侧栏(Project Tarage)将Tarage1改名为Template,并在中栏(Groups)删除Source Group1,并在中栏添加三个Groups:FWLIB,USER,CORE。再点击OK!
  2. 再添加源文件
    • USER要添加USER文件夹中的main.c,stm32f4xx_it.c,system_stm32f4xx.c
    • FWLIB要添加的是FWLIB/src里面的全部,添加完再删除stm32f4xx_fmc.c(因为这个是属于F42X/F43X的,注意别删除了stm32f4xx_sfmc.c!而且到后面可以需要什么再添加什么,初学为了方便就全部添加进去,但编译速度会很慢!)
    • CORE中添加CORE里面的 startup_stm32f40_41xxx.s(注意:添加的时候默认显示.c,.s没显示,这时候要设置全类型可见!!!)
  3. 添加头文件路径
    点击Options for tarage(魔术棒) → C/C++ → Include Paths,分别添加\CORE, \USER\以及\FWLIB\inc(注意:这里是文件夹里面的路径!而且是inc,不是src,因为要添加的是头文件)
  4. 添加全局宏定义标识符
    点击魔术棒之后,进入 C/C++选项卡,然后在 Define 输入框连输入:STM32F40_41xxx,USE_STDPERIPH_DRIVER
    Tips:这个地方极其容易出错!务必注意!

收尾(针对正点原子探索者来说)

  1. 将USER分组下面的stm32f4xx_it.c文件内容清空或者删掉其中的32行main.h头文件的引入以及144行SysTick_Handler函数内容
  2. System_stm32f4xx.c文件把PLL第一级分频系数M修改为8,这样达到主时钟频率为168MHz。
  3. 同时,我们要在stm32f4xx.h里面修改外部时钟HSE_VALUE值为8MHz,因为我们的外部高速时钟用的晶振为8M.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值