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. SDN第二次实验

    一.实验目的能够对Open vSwitch进行基本操作:能够通过命令行终端使用OVS命令操作Open vSwitch交换机,管理流表:能够通过Mininet的Python代码运行OVS命令,控制网络拓 ...

  2. flutter tabbar指示器indicator宽度高度自定义

    在tabbar中indicator宽度是无法修改的,所以需要咱们去自定义indicator. 下面是自定义的代码,直接拷贝使用,已做好修改. // Copyright 2018 The Chromiu ...

  3. Spring入门之使用 spring 的 IOC 解决程序耦合(Spring 基于 XML 的 IOC 细节[掌握])(03-02)

    3.3Spring 基于 XML 的 IOC 细节[掌握] 3.3.1 spring 中工厂的类结构图 3.3.1.1 BeanFactory 和 ApplicationContext 的区别 Bea ...

  4. Linux df -h 显示磁盘空间满,但实际未占用满——问题分析

    问题现象: 遇到一个问题,在系统上,告警提示磁盘空间不够,如下图所示: 问题分析: 1.首先使用 :du  -h  / --max-depth=1 命令查看各个目录的占用空间,试图找到占用较多空间的目 ...

  5. transform2d转换、transition过渡、animation动画效果、@keyframes定义动画关键帧

    transform:translate( 0 , 0 ); -ms-transform:translate( 0 , 0 ); /* IE 9 */ -webkit-transform:transla ...

  6. ctfshow web入门 命令执行 web58-71

    都是 POST传递参数 执行 eval() 函数 web58 if(isset($_POST['c'])){ $c= $_POST['c']; eval($c); }else{ highlight_f ...

  7. 《Makefile常用函数》

    https://blog.csdn.net/oqqHuTu12345678/article/details/125617988?spm=1001.2014.3001.5501

  8. MyBatis_02_(搭建Mybatis)

    搭建MyBatis 1-开发环境 2-创建Maven工程 2.1- 打包方式 2.2 导入依赖 <!-- 打包方式jar--> <packaging>jar</packa ...

  9. SqlServer 优化的技巧

    1.避免使用 select * select * 不会走覆盖索引,会出现大量的回表操作,从而导致SQL的查询性能很低 2.用union all 代替 union 1.使用union后,可以获取排重复后 ...

  10. insert image in mail instead of attachment

    https://www.extendoffice.com/documents/outlook/3810-outlook-insert-images-inline.html Go ahead to cl ...