STM32工程建立

对于用keil5建立stm32工程有两种方法,一种在学习过程中比较方便的建立方式;我们称为工程方式一,另一个便是在实际工程中用的最多,也最普遍,在实际过程中用的最多的,我们称为工程方式二。现在我们分别来介绍如何建立两种工程方式。

工程方式一

后期介绍

工程方式二

我们以STM32F407ZE信号的MCU为准,

1、首先我们先建立一个工程文件,我们命名为project,如下图所示:

2、然后我们在该文件夹下再建立六个子目录文件夹,如下图所示:

(1)、CORE:包含sT公司提供的固件库包里面相关的启动文件

(2)、FWLIB:包含官方固件库包中各模块驱动,比如gpio、中断、串口等等

(3)、OBJ:这个工程包用于放keil生成的.hex文件

(4)、SYSTEM:这个用于系统的,暂时未有到

(5)、USER:用于放主函数和其他相关文件

(6)、Hard_ware:用于放自己写的驱动程序,比如我们驱动LED模块,我们可以将“.c”和“.h”文件放在里面

当然这些文件命名也可自己定义,不一定要按照上方命名,工程建立之后,如图所示

3、在上述文件夹中分别添加如下所述的文件

(1)、CORE:分别添加如下所述的文件:

(a)、startup_stm32f40_41xxx.s:

(b)、core_cm4.h:

(c)、core_cm4_simd.h:

(d)、core_cmInstr.h:

(e)、core_cmFunc.h:

(2)、FWLIB:

对于这个功能无法描述,我们可以借助一些其他开源网站去寻找,当然也可以去笔者的公众号【学聚思】,回复关键字【STM工程模板二】即可获得

(3)、OBJ:这个文件放输出文件

(4)、SYSTEM:暂时未学到

(5)、USER

(a)、stm32f4xx_conf.h:

(b)、stm32f4xx_it.c:

(c)、stm32f4xx_it.h:

(d)、system_stm32f4xx.c:

(e)、main.c:

4、建立工程

首先打开keil5软件,然后按照如下步骤建立新工程。

(1)project——>new uVison project

(2)定位到我们建立的USER文件夹中,然后按照自己的方式命名,最好用英文,对于STM32可以使用中文,但是对于DSP不能包含任何中文字符,所以最好养成使用英文命名的习惯。操作步骤如下图所示:

(3)、选择芯片,笔者使用的是STM32F407ZE,当然需要安装官方固件库包,需要自己下载,操作步骤如下图所示

注意:假如没有安装官方固件库包,是不会出现STM32F4Series的芯片选择的,必须安装官方固件库包

(4)此时会弹出如下图片,我们点击OK即可,这个是在工程方式一用到的,所以我们不用,直接点击OK,效果图如下图所示:

(5)、将光标定义到Target1,右键Manage Project Items

此时弹出如下图所示的图片

双击Target1我们就可以更名了,我们更名位work_1(当然,你工程啥名字就命名为啥);此时在Groups,就是中间框内建立3个文件夹(后续需要再自行添加),操作完全后如下图所示

(6)、定位到最后一栏,添加文件,各文件夹添加的文件如下所示

通过ADD File添加之前建立的FWLIB下的src中的所有文件,等你会了之后再选择所需的内容吧!

(6)点击魔术棒接着后面的操作,魔术棒就是这个按钮:然后定位到C++那个地方,填入如下图所示的内容,看不清Define中的内容,直接复制图片下面的东西

STM32F40_41xxx,USE_STDPERIPH_DRIVER

然后再Include Paths中添加加路径,就是.h文件所在的路径,主要是这些

至此工程基本建立完毕,后续需要自己添加一些外设功能。

STM32工程建立的更多相关文章

  1. Eclipse中STM32工程建立步骤

    前段时间一直在折腾linux系统上STM32的开发,网上一顿搜,费劲九牛二虎之力终于把环境搭好了(现在都有点忘了,后面再折腾环境搭建一定要写个教程,今天先不写了). 自从环境搭好之后,就基本抛弃MDK ...

  2. 使用keil建立标准STM32工程模版(图文详细版!)

    1.   模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当 ...

  3. Davinci DM6446开发攻略——DSP开发工程建立

    前段时间一直忙一个项目,同时在生活上时时提防和抵抗中国地沟油.国外核心转基因调和油.大豆油.色拉油.大米玉米.可怕的喂药鱼.药水泡农药喷无虫咬的青菜,所以没时间打理自己的博客,让开发攻略停顿了一段时间 ...

  4. 在linux下搭建STM32工程

    转载自康神博客:http://blog.csdn.net/u013298300/article/details/50243935 在LINUX下开始一个STM32工程 在LINUX下开始一个STM32 ...

  5. Quartus II——工程建立和常用设置

    Quartus ii是针对Altera FPGA的一款EDA软件,在此以一个led闪烁工程来简单说一下基本操作: 一.注意事项 Quartus ii最大的注意事项就一点:工程名称以及工程里面的文件名称 ...

  6. springcloud工程建立 父工程+公用子模块+微服务提供模块

    建立 Java Working Set:工程多的时候可以展开收缩,方便管理 切换到Package Explorer视图,并点击视图右侧下箭头,选择Working Sets,如下图: 建立父工程,将后续 ...

  7. STM32工程模版

    STM32工程模版,看过来 ST库源码去官方下载 创建工程目录 doc:存放说明文档 lib:存放库文件 listing:存放编译产生的中间文件 output:存放生成的文件 project:存放工程 ...

  8. IAR建立stm32工程

    stm32是一个当下非常流行的微控制器,很多人都加入了学习stm32的行列中,常用的stm32编译器有IAR和mdk两种,接下来是利用stm32固件库3.5在IAR下的建立的工程模板历程: 1.在常用 ...

  9. 新手入门 keil MDK5 建立STM32工程

    keil uvison 是用来开发 单片机的,Keil mdk 是用来开发 ARM 的. 芯片型号是:STM32F103RB6 1,新建工程 配置属性 晶振为8M 根据实际晶振选择 生成 HEX 文件 ...

  10. KEIL MDK STM32如何建立工程

    2. 3 4 5 6 7 QQ 463431476 8 9

随机推荐

  1. kuangbin学习

    是有针对性的对于算法的训练 我试试QAQ

  2. PyQt5模块说明

    pyqt5的类别分为几个模块,包括以下: QtCoreQtGuiQtWidgetsQtMultimediaQtBluetoothQtNetworkQtPositioningEnginioQtWebSo ...

  3. kafka删除topic清空数据

    一般情况下,是不会删除数据的.到达一定时间后,kafka会自动删除.如果一定要删除可以删除topic在重建topic了 No. 1: 如果需要被删除topic 此时正在被程序 produce和cons ...

  4. Springboot打包部署的步骤

    1.配置pom.xml 引入插件 <groupId>com.bostech</groupId> <artifactId>dcs</artifactId> ...

  5. GeoServer 发布PostGIS数据库中的栅格数据

    1.导入栅格数据 进入PostgreSQL\bin目录,利用raster2pgsql工具导入栅格数据,具体命令如下所示: <!-- 分块,切片存储到PostGIS数据库中 --> rast ...

  6. ref(代替id)

    App.vue <template> <div> <Student ref="str"/> <h3 v-text="age&qu ...

  7. Linux上的I2C基础知识

    Linux上的I2C基础知识 什么是I2C I2C(Inter-Integrated Circuit,eye-squared-C),也称为 I2C 或 IIC,是一种同步.多控制器/多目标(主/从). ...

  8. Keil51单片机数码管鬼影显示问题

    Keil51单片机数码管鬼影显示问题 所为的鬼影就是程序逻辑正确,但电路逻辑有问题.就是按程序逻辑,前一个数字显示后,直接显示下一组数字,因为没清干净,导致瞬间残留: 处理的办法,就是有就显示,没有就 ...

  9. 提交from表单,method与浏览器请求显示不一致

    <from method="post" action ="/login_check"> 用户名:<input type="text& ...

  10. 测试 SqlServer 数据库连接的简单办法

    1.创建一个文件, 命名为"dba.udl".  #保证后缀是.udl即可     2.双击它:     3.输入数据库地址"xxx.xxx.xxx.xxx,端口号&qu ...