STM32工程建立
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工程建立的更多相关文章
- Eclipse中STM32工程建立步骤
前段时间一直在折腾linux系统上STM32的开发,网上一顿搜,费劲九牛二虎之力终于把环境搭好了(现在都有点忘了,后面再折腾环境搭建一定要写个教程,今天先不写了). 自从环境搭好之后,就基本抛弃MDK ...
- 使用keil建立标准STM32工程模版(图文详细版!)
1. 模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当 ...
- Davinci DM6446开发攻略——DSP开发工程建立
前段时间一直忙一个项目,同时在生活上时时提防和抵抗中国地沟油.国外核心转基因调和油.大豆油.色拉油.大米玉米.可怕的喂药鱼.药水泡农药喷无虫咬的青菜,所以没时间打理自己的博客,让开发攻略停顿了一段时间 ...
- 在linux下搭建STM32工程
转载自康神博客:http://blog.csdn.net/u013298300/article/details/50243935 在LINUX下开始一个STM32工程 在LINUX下开始一个STM32 ...
- Quartus II——工程建立和常用设置
Quartus ii是针对Altera FPGA的一款EDA软件,在此以一个led闪烁工程来简单说一下基本操作: 一.注意事项 Quartus ii最大的注意事项就一点:工程名称以及工程里面的文件名称 ...
- springcloud工程建立 父工程+公用子模块+微服务提供模块
建立 Java Working Set:工程多的时候可以展开收缩,方便管理 切换到Package Explorer视图,并点击视图右侧下箭头,选择Working Sets,如下图: 建立父工程,将后续 ...
- STM32工程模版
STM32工程模版,看过来 ST库源码去官方下载 创建工程目录 doc:存放说明文档 lib:存放库文件 listing:存放编译产生的中间文件 output:存放生成的文件 project:存放工程 ...
- IAR建立stm32工程
stm32是一个当下非常流行的微控制器,很多人都加入了学习stm32的行列中,常用的stm32编译器有IAR和mdk两种,接下来是利用stm32固件库3.5在IAR下的建立的工程模板历程: 1.在常用 ...
- 新手入门 keil MDK5 建立STM32工程
keil uvison 是用来开发 单片机的,Keil mdk 是用来开发 ARM 的. 芯片型号是:STM32F103RB6 1,新建工程 配置属性 晶振为8M 根据实际晶振选择 生成 HEX 文件 ...
- KEIL MDK STM32如何建立工程
2. 3 4 5 6 7 QQ 463431476 8 9
随机推荐
- lua 文件读写处理(操作敏感词库)
最近需要给游戏做一个敏感词新系统,我采用的方法是比较常用的DFA(确定有穷状态机)算 法,先不讲算法,而这种算法的实现需要一个相应的敏感词库. 我拿到了词库后发现词库中大概有8000+个词,其中包括很 ...
- jupyter notebook 切换环境
jupyter-notebook 中切换 conda 虚拟环境 介绍 jupyter notebook是anaconda中root目录中默认的python环境,如果要使拥创建的其他环境,则需要安装 ...
- webssh
目录 使用 jupyter notebook 使用webssh GateOne 使用 jupyter notebook pip install jupyter ipyton # 启动 jupyter ...
- 我们后端代码这样子设置虽然这样子返回的是字符串,但是json字符串也是字符串
我们后端代码这样子设置虽然这样子返回的是字符串 但是json字符串也是字符串,后端如果想接收的话,直接百度下怎么接收json字符串就行
- shell脚本变量加减
#! /bin/bash test_1=1 test_2=2 test = $(expr $test_1 - $test_2) #减法 test = $(expr $test_1 + $test_2 ...
- 国产DP4398 兼容替代CS4398 24Bit 192KHz数模转换芯片
CS4398是一款24Bit/192K Hz规格的解码芯片,它具有120分贝以上的讯噪比和动态范围,采用一个高级专用多位Delta-Sigma调制器,并整合了失配噪声整形技术.今天来讲讲它的国产替代型 ...
- 通过Jenkins在远程服务器上执行shell脚本
1.Jenkins安装Publish over SSH插件 下载安装Publish over SSH插件 2.配置服务器相关信息 要先在jenkins所在的机器上生成秘钥.生成方式为: ssh-key ...
- Java反射获取方法参数名
正常环境下,获取不到参数的名称,使用java反射时,第一个参数名是arg0,第二个参数是arg1,与我们代码中写的对不上. java反射过程中,需要我们做好判断: if(!parameter.is ...
- #maxlength vs #size form api reference
#maxlength Used by: password, textfield Description: The maximum amount of characters to accept as i ...
- python方法、类方法和静态方法的区别
class A: def f1(): pass def f2(self): pass @classmethod def f3(cls): pass @staticmethod def f4(): pa ...