2.1、STM32怎么创建工程:如何创建第一个工程模板(基于固件库)

最新更新时间:2022-04-21来源: eefocus关键字:STM32  创建工程  工程模板  固件库 手机看文章 扫描二维码
随时随地手机看文章

一、 首先在电脑的某个目录下创建一个空文件夹用来存放工程文件。创建好后在该文件目录下分别创建CORE 、FWLIB、OBJ、SYSTEM、USER等五个子文件夹。至于这些文件夹名字,实际上是可以任取的,我们这样取名只是为了行业规范。

二、打开keil软件,点击 Keil 的菜单: Project –>New Uvision Project,保存时将目录定位到自己创建的文件下的USER子目录下:

三、接下来会出现一个选择 Device 的界面,就是选择我们的芯片型号,我们选择STM232F407ZE(如果使用的是其他系列的芯片,选择相应的型号就可以了)特别注意: 一定要安装对应的器件支持包才会显示这些内容)。

这里是一些组件,直接点击OK即可,这样工程文件就算初步建立完成


四、打开TEST文件下的USER子目录下可见包含 2 个文件,Listings 和 Objects 文件夹是 MDK 自动生成的文件夹,用于存放编译过程产生的中间文件,这里可以自由设置,到时候会定位到OBJ里面去,这两个文件可不用理他


五、现在打开官方固件库,定位到STM32F4xx_DSP_StdPeriph_Lib_V1.4.0LibrariesSTM32F4xx_StdPeriph_Driver下面,

将目录下面的 src,inc 文件夹 copy 到我们刚才建立的 FWLib 文件夹下面。

六、同样定位到 STM32F4xx_DSP_StdPeriph_Lib_V1.4.0LibrariesCMSISDeviceSTSTM32F4xxSourceTemplatesarm下面,将文件 startup_stm32f40_41xxx.s复制到 CORE 目录下面。

然后定位到目录STM32F4xx_DSP_StdPeriph_Lib_V1.4.0LibrariesCMSISInclud, 将 里 面 的 四 个 头 文 件 :core_cm4.h、core_cm4_simd.h、core_cmFunc.h 以及core_cmInstr.h 同样复制到 CORE 目录下面。

七、继续定位到目录:

STM32F4xx_DSP_StdPeriph_Lib_V1.4.0LibrariesCMSISDeviceSTSTM32F4xxInclude将里面的 2 个头文件 stm32f4xx.h 和 system_stm32f4xx.h 复制到 USER 目录之下。 这两个头文件是STM32F4 工程非常关键的两个头文件。

然后进入目录 STM32F4xx_DSP_StdPeriph_Lib_V1.4.0ProjectSTM32F4xx_StdPeriph_Templates,


将 目 录 下 面 的 5 个 文 件 main.c , stm32f4xx_conf.h , stm32f4xx_it.c , stm32f4xx_it.h ,system_stm32f4xx.c 复制到 USER 目录下面。

最后USER文件如下图所示:

八、完成以上步骤后,下面我们需要把这些文件加入我们的工程中去。右键点击 Target1,选择 Manage Project Items,如下图:

九、建立三个Groups: USER,CORE,FWLIB。然后点击 OK即可


十、接上一步,添加需要的文件选择 FWLIB,然后点击右边的 AddFiles,定位到我们刚才建立的目录GECLIBsrc 下面,将里面所有的文件选中(Ctrl+A),然后点击 Add,然后 Close.可以看到 Files 列表下面包含我们添加的文件。

注意:


1、例若只用到GPIO的配置,可以只选择stm32f4xx_gpio.c这样可以减少工程的代码量,提高编译的速度。


2、有个文件stm32f4xx_fmc.c 比较特殊。这个文件STM32F42 和 STM32F43 系列才用到,所以我们这里要把它删掉(注意是 stm32f4xx_fmc.c  要删掉,不要删掉stm32f4xx_fsmc.c)。


十一、用同样的方法,我们CORE下面需要添加的文件为 startup_stm32f40_41xxx.s(注意:你需要选择文件类型为All files才能看得到这个文件),USER 目录下面需要添加的文件为 main.c, stm32f4xx_it.c,system_stm32f4xx.c。最后点击 OK。

十二、进入设置界面设置头文件存放路径,如果没有设置头文件路径,那么工程会出现报错,头文件路径找不到

我们需要添加的头文件路径包括:CORE, USER以及GECLIBinc。若需要添加到自己建立的头文件,也需要做路径的添加


十三、STM32F40 系列的工程,还需要添加一个全局宏定义标识符。添加方法是点击魔术棒之后,进入 C/C++选项卡,然后在 Define 输入框连输入:STM32F40_41xxx,USE_STDPERIPH_DRIVER。注意这里是两个标识符 STM32F40_41xxx和 USE_STDPERIPH_DRIVER,他们之间是用英文的逗号隔开的,请大家注意。


十四、在做编译工程之前我们首先要选择编译中间文件编译后存放目录。方法是点击魔术棒,然后选择“Output”选项下面的“Select folder forobjects…”,然后选择目录为我们上面的新建的 OBJ  目录。然后再OBJ目录下就可看到我们需要的程序.hex文件了。(上面第四步所说过)

十五、在编译之前,我们先把 main.c 文件里面的内容清空,编写自己的代码与此同时,我们要将 USER 分组下面的 stm32f4xx_it.c 文件内容清空。 或者删掉其中的 32 行对main.h 头文件的引入以及 144 行 SysTick_Handler 函数内容

下面我们点击编译按钮 编译工程,没有任何错误和警告,那工程文件就算完整的建立完成了。


十五、最后,打开工程文件会看到以下文件信息,这里不做一一介绍


注意:LIB里面的文件可根据自己需要进行增加或删除

如果是控制简单的GPIO输入或者输出,可以使用以上的这些文件就足够了。

关键字:STM32  创建工程  工程模板  固件库 编辑:什么鱼 引用地址:2.1、STM32怎么创建工程:如何创建第一个工程模板(基于固件库)

上一篇:9、STM32的PWM的原理与使用(内附代码)
下一篇:STM32的SPI的原理与使用(W25Q128附代码)

推荐阅读

STM32五大新品齐亮相,砸重金积极扩产能!
漫长疫情之后,ST今年在北京的首场发布会,重磅推出了多款产品,覆盖了STM32产品家族的全线产品。“这些产品发布代表着ST将进入一个新时代——云连接、智能边缘的时代,”ST微控制器和数字IC产品部MDG亚太区、物联网/人工智能创新中心及数字营销副总裁朱利安表示,在新的时代,更多的人工智能算法或智能化将运行在设备端,由于联网设备的增加,边缘侧安全识别、验证、数据保护也将越发关键。为此,ST在微控制器和数字产品的远景规划中,也将智能、安全、互联作为重点关注对象。之所以做这样的战略布局,ST也是在第一线感受到了市场的变化。朱利安介绍,在32位通用MCU潜在市场中,工业市场份额将从2021年的的52%增长到2026年的65%,这样的增长将得
发表于 2023-03-30
<font color='red'>STM32</font>五大新品齐亮相,砸重金积极扩产能!
意法半导体推出STM32WB1MMC Bluetooth® LE 认证模块 简化并加快无线产品开发
意法半导体推出STM32WB1MMC Bluetooth® LE 认证模块简化并加快无线产品开发2023 年 3 月 28 日,中国——意法半导体新推出的STM32 Bluetooth® 无线模块让设计人员能够在无线产品尤其是中低产量项目中发挥STM32WB双核微控制器(MCU) 的优势。该模块取得Bluetooth Low Energy 5.3认证和全球无线电设备许可证,支持STM32Cube 生态系统,有助于简化应用开发,加快产品研发周期。STM32WB1MMC多合一模块缓解了供应链紧张难题和交货时间问题,并有助于避免认证成本和认证延误产品开发。STM32WB1MMC是一个LGA 封装的功能完整的无线通信参考设计,在一块经济的P
发表于 2023-03-28
意法半导体推出STM32WB1MMC Bluetooth® LE 认证模块  简化并加快无线产品开发
半个小时搞定——stm32 之 DAC
DAC 可谓是 stm32 继按键最简单的一个寄存器配置吧,花了半个小时搞定!DAC 主要特征● 2 个 DAC 转换器:每个转换器对应 1 个输出通道● 8 位或者 12 位单调输出● 12 位模式下数据左对齐或者右对齐● 同步更新功能● 噪声波形生成● 三角波形生成● 双 DAC 通道同时或者分别转换● 每个通道都有 DMA 功能● 外部触发转换看了这些东西,貌似很激动的样子,我们下面就开始配置 DAC 外设了先直接看看寄存器:位 12 DMAEN1:DAC 通道 1 DMA 使能(DAC channel1 DMA enable 该位由软件设置和清除。0:关闭 DAC 通道 1 DMA 模式;1:使能 DAC 通道 1 DMA
发表于 2023-03-28
基于STM32的高性能、低成本芯片的税控器方案设计
随着金税工程的推广,税控市场将得到迅猛发展,作为四大税控产品之一,其市场份额不容小觑,税控厂家需要为产品的性能、成本做多方面考量。之前各个厂家的税控器方案,可能因为成本的考虑选择了8位单片机,也有因为性能扩展的需要选择16位、32位MCU作为税控器主控芯片。今天,ST(意法半导体公司)延续了其之前基于STR7的税控器体系架构,并借鉴在STR9银税一体机方案中的经验,推出了一款采用2这一高性能、的税控器方案。  方案介绍 与以往方案(图1)对比,STM32方案(图2)结构简单,模块功能化,减少了外部数据总线的数量,有效减小制板面积,很好地保证了系统的可靠性及安全性。ST还提供详细的设计报告,无论是软件还是硬件的开发都大大缩短了厂家的开
发表于 2023-03-28
STM32 在温度监控系统中的应用
引言现代工业控制领域通常要测量很多信号,将其转化为计算机可以识别的二进制信号,并利用计算机监视和记录各种测量的信号。这个过程就要涉及到信号的采集和处理。CAN 总线是一种串行多主总线,它卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。本文介绍了基于 STM32 和 CAN 总线的温度监控系统的设计,通过上位机与下位机的通信,实现对温度数据的监控,并经初步实验达到了设计的要求。1 系统总体方案概述系统总体框图如图 1 所示,本系统采用主站+从站的结构,CAN 主站主要实现温度数据的存储以及 CAN 总线协议和串口协议之间的桥接,CAN 从站主要实现温
发表于 2023-03-28
基于STM32的景点语音自动导览系统的研究与设计
景点语音导览主要有以下几种方式:一种是通过定位系统(GPS)的用户终端接收工作卫星的导航信息,从而解算出车辆的经纬度信息,进而计算出实时坐标,将其与景点坐标相比较,当车辆驶入景点一定距离范围内时,不用人工干预,系统自动播报景点语音信息;另一种是对车轮轴的转角脉冲进行计数,将计数值和预置值对比,即可确定播放时刻,达到准确播放景点语音信息的目的;第三种方案是利用无线射频识别技术,在每一个景点范围内设置一个具有ID 的射频发射器,采用间歇工作方式发射信号,当旅游列车即将到达景点时,车载系统接收到射频发射器信号并解码出景点的ID 号,由系统控制自动播放对应编号的景点语音信息。由于景点自然环境的复杂性,种方式难以满足系统要求;第二种方式简单可
发表于 2023-03-28

推荐帖子

【STM32WB55 测评】双核MCU有哪不一样
  STM32WB55与众不同,除了集成无线功能以外,它还是少有的一颗双核的MCU.双核的好处大家都想得出不少,不过MCU使用双核多核的并不常见。STM32WB55在此多加了一个Cortex-m0+CPU的用意,显然在于分担无线部分的工作,让Cortex-m4的主CPU的计算能力集中在应用上。今年处玩过NXPRapid-IoTKit,它用了两颗MCU,其中一颗是无线专用的;那两颗MCU之间通过SPI接口进行交互。STM32WB55在一颗MCU上集成两个核,信息交互和资源共享
cruelfox RF/无线
易电源试用帖第二贴
使用:1,进入http://www.ti.com.cn/ww/analog/webench/power.shtml直接按下产品菜单,然后进入,然后填写产品型号为lmz12002,进入后可以看到关于lmz12002的所有资料。下载他的手册看看。lmz12002中文手册: 易电源试用帖第二贴
damiaa 模拟与混合信号
TI UCC28782制作小型化适配器
1.快充推动适配器小型化近年来,随着手机快充技术与USBTypeCPD的普及,手机和电脑笔记本等便携式电子设备的充电功率越来越大。在同样的功率密度下,功率增加必然带来手机和电脑笔记本适配器(以下简称:适配器)体积增加。然而,消费者总是希望适配器尽可能轻便小巧。以20W手机适配器体积75cm3,功率密度0.267W/cm3为例,功率增加到50W,保持同样功率密度的前提下,适配器体积将会增加到150cm3,消费者很难接受这么大的体积;如果要保持同样的体积,则功率密度需要增加到0.667W/c
qwqwqw2088 模拟与混合信号
电力系统用三相UPS的设计
在电力系统中,为了保证对供电可靠性要求较高的重要设备能正常工作,发电厂、变电站均应安装UPS。随着电力电子技术的发展,对容量要求也越来越大,大容量的UPS都是三相的[1],因此对三相UPS的需求也逐渐增多。发电厂、变电站都有直流操作电源系统,为了充分利用直流操作系统中蓄电池所存储的能量,用于电力系统的UPS应该保证能够在直流220V/110V输入情况下输出所需交流电能,这就要求用于电力系统的UPS有很宽的电压输入范围,一般为100V~300V。在电力系统中,通常要求交、直流供电系统能保证良好
zbz0529 电源技术
OK2440-II开发板新增多媒体学习教程,大大降低ARM9嵌入式技术学习难度
飞凌公司OK2440-II开发板是一款功能强大、接口丰富、学习资料详实的开发学习套件!为进一步降低初学者学习门槛,新增多媒体学习教程,加上长达近400页的用户手册,以及丰富的实验实例,从而加速用户学习进程! OK2440-II开发板具有一流的性价比,推荐超值套餐:开发板+3.5寸三星真彩液晶(带触摸)+仿真工具=998元 以下是该板的一些基本情况,欢迎广大爱好者选购: 集众家之所长、资料最详实、性价比一流的嵌入式ARM9开发板OK2440-II 1实用、详实的用户手册集当
laoqiao ARM技术
今日直播:ADI新一代高阻抗输入SAR ADC的优势与应用
直播时间:今天上午10点 直播主题:ADI新一代高阻抗输入SARADC的优势与应用 直播内容: 本次研讨会首先会介绍SARADC前端驱动和RC滤波器的设计指南,其次介绍ADI新一代高阻抗输入前端的SARADC设计,接着使用LTspice仿真验证了高阻输入与传统输入模式的对比。这种输入高阻技术简化了驱动设计,拓宽了ADC驱动器的选择范围,降低了整体信号链的功耗和尺寸,进而帮助解决精密数据采集系统的系统级技术挑战。前往观看>>>直播嘉宾 韩佳辰|ADI
EEWORLD社区 综合技术交流
小广播
设计资源 培训 开发板 精华推荐

何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved