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. Linux学习 --- 系统网络配置

    前言 : 如果一台计算机想接入互联网,必须配置好IP地址,子网掩码,网关,DNS服务器.在Linux系统中,这些信息都可以修改对应的配置文件来进行配置.临时配置一下网络可以使用一些简单的命令来进行配置 ...

  2. python爬虫cookies jar与字典转换

    #将CookieJar转为字典: cookies = requests.utils.dict_from_cookiejar(r.cookies) #将字典转为CookieJar: cookies = ...

  3. pytest 之conftest.py是什么

    conftest.py是pytest框架的固定写法:可以把hook和fixture写在这个文件里,就会自动去调用:conftest.py相当于可以编写自己的插件: 也可以理解为pytest特有的本地测 ...

  4. Virtualbox网络设置

    记录一下https://ladybug.top/%E8%BD%AF%E4%BB%B6%E5%AE%89%E8%A3%85&%E9%85%8D%E7%BD%AE/complete-the-net ...

  5. debian11命令行安装字体

    一.需要用到三条命令mkfontscale/mkfontdir/fc-cache这三条命令属于两个软件包mkfontscale/mkfontdir属于xfonts-utils包,fc-cache命令属 ...

  6. 用有限差分估计(Finite Difference Estimate)解决地理坐标与平面像素坐标转换过程的误差造成风场粒子向量失真问题

    下载NCEP的气象场grib2数据,风场是二维的向量,包含u和v两个分量.这个用经纬度投影到像素坐标会产生误差,直接绘制效果不太对:(   通过插值计算得到风场粒子的预测数据wind = interp ...

  7. join => innerJoin

    drupal7中 ->join == ->innerJoin 不是leftJoin哦 无语哦

  8. CPU、内存的占用率

    要获取不包含百分比符号的内存占用率: #free -t | awk 'NR ==2 {print "Current Memory Utilization is: "$3/$2*10 ...

  9. WEB的安全性测试要素【转】

    原文链接:http://www.cnblogs.com/zgqys1980/archive/2009/05/13/1455710.html WEB的安全性测试要素 1.SQL Injection(SQ ...

  10. C#中检测代码执行时间

    使用System.Diagnostics.Stopwatch, using System; using System.Diagnostics; using System.Threading; clas ...