使用HAL库函数建立STM32F2工程
一、建立一个新的文件夹,新建三个文件夹User、Driver、Project,还可以加一个Doc存放工程的相关说明等等。
1、将STM32F2xx的库函数(HAL函数库)中的Drivers文件夹中的所有文件复制到Driver中。
2、找到.\STM32Cube_FW_F2_V1.1.0\Projects\STM322xG_EVAL\Templates目录下的INC和SRC文件夹,复制到User中。
二、打开KEIL-MDK软件,新建project->new project,目录选在Project文件夹下,Device选择STM32F205VCT6(根据实际芯片选择)。
三、在左侧导航栏, 接下来就是为工程添加组和源文件了,首先添加四个组:Lib,User,CMSIS,StartUp.然后为各个组添加源文件:
Lib->添加Derivers\ STM32F2xx_HAL_Driver\src下所有源文件,当然后也可以根据需要只选择部分文件。
User->添加User目录下所有源文件(如果目录中包含了system_stm32f2xx.c文件,注意不要重复引入工程中)。
CMSIS->添加\Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates目录下的system_stm32f2xx.c文件。
StartUp->添加Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm目录下的startup_stm32f2xx.s文件.
这样一来就添加完所有文件了.
四、配置项:
1、全局常量(C++/define):USE_STDPERIPH_DRIVER, STM32F205xx;
2、头文件目录包含(C++/Include)
五、删除不必要的外设文件,精简程序。
附:
STM32Cube_FW_F2_V1.1.0库函数下载链接:
stm32f2xx标准库函数:http://download.csdn.net/detail/u013521188/9769839
stm32f2xx开发手册:http://download.csdn.net/detail/u013521188/9769842
HAL库函数手册:http://download.csdn.net/detail/u013521188/9771024
其中与V1.4.0中CMSIS中的内容大致相同,可以相互替补。
注意事项:
在头文件中包含其他的文件时,要放在声明之后,或在文件尾部进行包含。
使用HAL库函数建立STM32F2工程的更多相关文章
- STM32开发环境--使用MDK建立一个工程
STM32开发环境--使用MDK建立一个工程 该工程模版是基于库函数基础制作而成,其中有借鉴相关资料.虽然工程模版一旦建立,以后任何项目只需套用即可,但考虑到长时间不使用,在将来某天可能会突然用到,再 ...
- STM8建立IAR工程
STM8是意法半导体公司出的增强型八位单片机,性能比51单片机强大,而且价格便宜,在商业应用中很受欢迎 在STM8的开发工程中主要有两种开发工具链.第一是使用IAR开发环境,第二十使用cosmic+s ...
- 【非专业前端】Vue UI 之 建立Vuetify工程
先建立一个工程[Webpack] .. ..建立好之后,进入目录,添加vuetify插件 cd vuetify-demo vue add vuetify[会出错] npm install vuetif ...
- Eclipse建立Java工程中的三个JRE选项的区别(Use an execution environment JRE,Use a project specific JRE,Use default JRE)
本博客部分转载自: http://blog.csdn.net/wdjhzw/article/details/42086615 这篇博客写的非常好,很用心. 一.首先看新建Java Project时候 ...
- idea环境下建立maven工程并运行scala程序
idea中scala编程环境及建立maven工程 1.下载idea软件并破解:http://blog.csdn.net/nn_jbrs/article/details/70139178 2.安装sca ...
- 重新使用Eclipse建立安卓工程遇到的问题
很早之前用过Eclipse建立安卓工程,很久没用了,最近打算用Eclipse开发安卓程序,我是用谷歌提供的Eclipse集成环境建立的安卓工程,发现有了一些变化,而且遇到一点问题,这几天不断学习,终于 ...
- [转载]VS2010怎样打开VS2013或者VS2015建立的工程
VS2010怎样打开VS2013或者VS2015建立的工程 作用:解决vs低版本无法直接打开高版本的工程文件问题. 一.转载出处 http://blog.csdn.net/qq2399431200/a ...
- 关于建立Android工程R文件丢失的问题
今天开始学习Android了,好久没打开eclipse,建立Android工程老是报错,于是手残的把appcompat-v7给删了,然后建立工程以后重新出来的appcompat-v7有个小叉号,百度了 ...
- robotium 测试APK<一> 建立测试工程
1.准备Android开发环境 2.准备签名工具http://www.troido.de/re-sign.jar 1.建立测试工程 打开Eclipse,点击File->New一个Android ...
随机推荐
- 浅谈C#抽象类
抽象类 先说个事,一个类实例化为一个实例.就是一只狗,实例化一下,就成了一只哈士奇(具体的二哈).但是,一个动物类实例化呐,成了啥? 压根就不能实例化.这,就是抽象类的概念引入. 概念:C#允许把类和 ...
- 优雅地解决Ajax接口参数来自另一个接口的问题
最近闲赋在家,终于有时间回顾我在工作中遇到的一些东西,由于经验不足,有些方面做的不是很好.在上家公司曾经遇到一个小问题,就是Ajax的接口中有参数是从另一个接口后台传来的.当时我的做法是将需要参数的接 ...
- java中创建对象中使用默认构造函数的注意点
public class Test3 { private int n; Test3() { System.out.println("调用默认构造器"); } ...
- 【 js 模块加载 】深入学习模块化加载(node.js 模块源码)
一.模块规范 说到模块化加载,就不得先说一说模块规范.模块规范是用来约束每个模块,让其必须按照一定的格式编写.AMD,CMD,CommonJS 是目前最常用的三种模块化书写规范. 1.AMD(Asy ...
- Javascript数组与基本函数
数组定义方法: 1. var arr=new Array(); var arr=Array(); 2. var arr1=Array('a','b','c'); 3. var arr2=['a','b ...
- java 集合框架(List操作)
/*list 基本操作 * * List a=new List(); * 增 * a.add(index,element);按指定位置添加,其余元素依次后移 * addAll(index,Collec ...
- 《分布式Java应用之基础与实践》读书笔记二
远程调用方式就是尽可能地使系统间的通信和系统内一样,让使用者感觉调用远程同调用本地一样,但其实没没有办法做到完全透明,例如由于远程调用带来的网络问题.超时问题.序列化/反序列化问题.调式复杂的问题等. ...
- python13_day4
上周复习 1,python基础 2,基本数据类型 3,函数式编程 函数式编程.三元运行.内置函数.文件处理 容易出问题的点 函数默认返回值为none,对于列表字典,传入引用. 1 2 3 4 5 6 ...
- 为何PS出的RSS总和大于实际物理内存
使用ps aux 查看系统进程时,第六列即 RSS列显示的就是进程使用的物理内存. 可是把系统所有进程的该列相加时,得到的总和又远远高于系统实际的物理内存?这到底是怎么回事呢? 看一看linux是 ...
- 使用Java POI来选择提取Word文档中的表格信息
通过使用Java POI来提取Word(1992)文档中的表格信息,其中POI支持不同的ms文档类型,在具体操作中需要注意.本文主要是通过POI来提取微软2003文档中的表格信息,具体code如下(事 ...