当前位置:首页 > 单片机 > 单片机
[导读]1、新建工程,然后选择芯片型号。选定芯片后添加启动文件.s文件。2、将文件添加组进行分类:其中包含ASM组、USR组、FWlib组合CMSYS组。lASM组为.s启动文件;lUSR组为用户程序文件组,一般至少需要有main.c,如需要使

1、新建工程,然后选择芯片型号。


选定芯片后添加启动文件.s文件。

2、将文件添加组进行分类:


其中包含ASM组、USR组、FWlib组合CMSYS组。

lASM组为.s启动文件;

lUSR组为用户程序文件组,一般至少需要有main.c,如需要使用中断,将stm32fxxx_it.c也放在该组中;

lFWlib组为ST公司提供的官方库文件,如下图所示,

将SRC中的.c文件进行有选择的选入,只选择需要的,免得编译过程太费时,inc文件夹中文.h头文件,可在Target Options中设置包含头文件的路径,将在Target Options设置中具体说明。SRC资源如下所示。


CMSYS组由系统内核文件以及芯片系列应用组成,一下分别为1系列和2系列的CM组CMSYS。


System_stm32fxxx.c主要为系统时钟的定义,如果用到外部时钟,需要进行外部时钟的初始化和配置。

3、根据芯片类型配置相应文件。

stm32fxxx.h文件的配置:

对于f1系列,需要进行芯片类型选择,如下图所示,


并且将


中的#define USE_STDPERIPH_DRIVER注释去掉,

,如果不去掉注释,也可以在Target Options中的C/C++中定义,如下图所示。


对于f2系列则无芯片类型选择,后面的去掉注释同f1系列。

4、Target Options设置。

Target:

选外部晶振,并勾选Use MicroLIB


Output:

如果需要输出Hex,则勾选生成hex文件选项,一般选上为好。


C/C++:

Define:

如果定义USE_STDPERIPH_DRIVER,就可以使用"stm32f2xx_conf.h"头文件,该头文件中是用来使能所有需要用到的外设功能。"stm32f2xx_conf.h"包含了如下头文件的定义。

/* Includes ------------------------------------------------------------------*/

/* Uncomment the line below to enable peripheral header file inclusion */

/* #include "stm32f2xx_adc.h" */

/* #include "stm32f2xx_can.h" */

/* #include "stm32f2xx_crc.h" */

/* #include "stm32f2xx_cryp.h" */

/* #include "stm32f2xx_dac.h" */

/* #include "stm32f2xx_dbgmcu.h" */

/* #include "stm32f2xx_dcmi.h" */

/* #include "stm32f2xx_dma.h" */

/* #include "stm32f2xx_exti.h" */

/* #include "stm32f2xx_flash.h" */

/* #include "stm32f2xx_fsmc.h" */

/* #include "stm32f2xx_hash.h" */

#include "stm32f2xx_gpio.h"

/* #include "stm32f2xx_i2c.h" */

/* #include "stm32f2xx_iwdg.h" */

/* #include "stm32f2xx_pwr.h" */

#include "stm32f2xx_rcc.h"

/* #include "stm32f2xx_rng.h" */

/* #include "stm32f2xx_rtc.h" */

/* #include "stm32f2xx_sdio.h" */

/* #include "stm32f2xx_spi.h" */

/* #include "stm32f2xx_syscfg.h" */

/* #include "stm32f2xx_tim.h" */

#include "stm32f2xx_usart.h"

/* #include "stm32f2xx_wwdg.h" */

/* #include "misc.h" *//* High level functions for NVIC and SysTick (add-on to CMSIS functions)*/

Include Paths:

在Include Paths设置头文件的路径,务必设置正确,否则可能无法找到头文件进行正常的编译。


勾选ELF,这样不需要用到的程序就不会编译。


Linker:

使用选定芯片的存储器空间,因为你开始已定义芯片类型,会自动映射正确的存储空间。如不勾选,则务必确保存储空间设置正确。


Debug:

根据具体要求来选择,如果用J-Link,则如下图选择J-Link,如使用ULINK等其他设备进行下载,则进行相应的修改。并且别忘了勾选Run to main()。


选定J-link后点击Settings进行设置。

只要连接上J-link,在Debug下便会出现类似于下面的信息,前提是你装了J-link的驱动。


在Flash Download中单击Add添加处理器的Flash大小,根据具体型号选择。模式里面可以选择清空整个芯片或者只清空段,或者不清除,一般选择清除段。



Utilities:

选择下载器类型。


由以上步骤,工程建立的设置工作已经结束,可以进行程序的编译和下载工作。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭