1、首先下载一个固件库,我下载的是stm32f10x_stdperiph_lib 3.5V版的

2、新建一个文件夹,可命名为“STM32建工程库函数版本”

3、在“STM32建工程库函数版本”文件夹里面新建这几个文件夹,CMSIS(ARM Cortex™ 微控制器软件接口标准)、FWlib(库文件)、List(用于链接)、Obj(工程文件)、Output(输出hex文件)、User(存放用户代码函数)这六个文件夹。如图:

4、在CMSIS中建一个startup文件夹,用于存放启动文件

5、将固件库当中的core_cm3.c、core_cm3.h、system_stm32f10x.c、system_stm32f10x.h、stm32f10x.h复制到CMSIS文件夹当中,将

startup_stm32f10x_hd.s 复制到CMSIS->startup文件夹中;

将固件库中的inc和src文件夹复制到FWlib文件夹当中;

将固件库的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h、system_stm32f10x.c、SysTick.c、SysTick.h、

TIMER.c、TIMER.h复制到User文件夹当中;

6、打开Keil软件,在菜单栏里点击project 选择 new uVision project 新建工程

7、保存工程名,选择Obj文件夹, 文件名为project,不用加后缀格式,系统默认TIMER.c

8、接下来会弹出让你选择器件的窗口,这里我们选择STmicroelectronics 的 STM32F103VB

9、在project窗口右键点击Tagert 1 选择 manage conponents

10、在Groups 框下面将Groups1 重命名为startup,将CMSIS->startup文件夹的startup_stm32f10x_hd.s添加进去;

同时添加CMSIS, Libraries,User文件夹;

选择CMSIS 在Files框下将core_cm3.c与system_stm32f10x.h添加进去

选择FWlib在Files框下将FWlib--->src文件下的所以文件都加进去添加进去;

选择User在Files框下将User文件下的所以文件都加进去添加进去;

10、以上的做完之后,回到工程,将startup下面的STM32F10x.s删掉;工程结构如下:

11、新建main.c 保存到User文件夹里,将其添加到User工程名下。

#include "stm32f10x.h"

int main(void)

{

while(1)

{;}

}

12、在project框下,右键点击Target 1,选择Options for Target target1

在output 选项下,在create HEX file 前打上钩, 点击select Folder for Objects 选择输出文   件夹为 output文件夹;

在Listing选项下,点击select Folder for Listings 选择链接文   件夹为 List文件夹;

在C/C++选项下, define里 填入 USE_STDPERIPH_DRIVER,STM32F10X_MD 中间用英  文的逗号;

Include Paths 里,点击右边的文件路径框 ,选择相应的CMSIS, libraries 里的INC 和SRC 还有 User ;

STM3210x建工程库函数版本的更多相关文章

  1. 学习STM32的一些记录_创建库函数版本的工程

    1.新建一个文件夹,用于存放MDK的工程所有文件.例如新建文件夹Template. 2.在Template下新建一个USER文件夹,用于存放工程. 3.打开MDK5,新建工程,目录在USER下. 4. ...

  2. DEVC怎么建工程

    1.DEVC建工程 1.1 新建项目 打开文件,选择新建-->项目-->ConsoleApplication(控制台程序),输入项目名,选择保存路径.(单独建一个文件夹存放) 项目建成功后 ...

  3. stm32库函数建工程和使用Keil自带库建工程有没有区别?发现了同样的程序在两种情况下keil自带库可以运行的情况,不知是什么原因

    我使用库函数建的工程(非Keil自带库),为了实现SPI对Si24r1芯片数据的读写,以验证stm32是否可以和si24r1能够正常通信,发现使用库函数建的工程程序不能通过,读出来的数据和写的数据不一 ...

  4. Keil5新建STM32工程(库函数版本)

    1.下载keil5教程参考:https://blog.csdn.net/qq_36854651/article/details/82632931 2.安装完keil5后,创建一个空的目录存放工程 3. ...

  5. Cocos2d-x建工程时避免copy文件夹和库

    方法一:(官方做法) 打开F:\cocos2d-1.0.1-x-0.9.1目录下的cocos2d-win32.vc2010.sln文件,然后右键点击解决方案,选择"添加"—&quo ...

  6. [转]Cocos2d-x建工程时避免copy文件夹和库

    原文链接:  http://www.cnblogs.com/andyque/archive/2011/09/27/2192920.html 在上一篇教程中,我们演示了如何使用VS2010来新建一个工程 ...

  7. eclipse 利用已有c++代码建工程,并编译执行

    如果你想建一个带Makefile的c++ 工程 1. 新建一个C++空工程,工程类型是makefile project,选择Linux GCC: 2. 将源码连同makefile文件一同作为一个文件系 ...

  8. [ASP.NET Core] 建置x86版本 (workaround)

    前言 本篇文章介绍如何建置ASP.NET Core项目的x86版本输出(workaround),为自己留个纪录也希望能帮助到有需要的开发人员. ASP.NET Core官网 步骤 首先到微软官网的「. ...

  9. 修改eclipse工程jdk版本

    在eclipse中项目jdk版本不匹配的时候需要修改项目工程的jdk版本,但是网上的一些版本修改不是很完全,经过一些摸索之后,参考总结了我在项目中的具体配置实践 问题: 修改eclipse中的项目jd ...

随机推荐

  1. 'scrapyd-deploy' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    在windows上使用scrapyd-client 安装后,并不能使用相应的命令'scrapyd-deploy' 需要在"C:\Python27\Scripts" 目录下 增加sc ...

  2. Coding源码学习第四部分(Masonry介绍与使用(三))

    接上篇继续进行Masonry 的学习. (12)tableViewCell 布局 #import "TableViewController.h" #import "Tes ...

  3. mysql数据类型和列属性

    列属性: 定义一个字段时对该字段设置的额外的信息或约束 1.  关联操作:reference 2.  字段默认值:default value 3.  主索引和唯一索引:primary key 和uni ...

  4. python登录执行命令

    #-*- coding: utf-8 -*- #!/usr/bin/python import paramiko import threading import getpass def ssh2(ip ...

  5. MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(02)

    1.3.1 应用程序对象 MFC应用程序的核心就是基于CWinApp类的应用程序对象,CWinApp提供了消息循环来检索消息并将消息调度给应用程序的窗口.当包含头文件<afxwin.h>, ...

  6. 5.String

    一.古罗马皇帝凯撒在打仗时曾经使用过一种方法加密军事情报.请编写一个程序,使用上述算法加密或解密用户输入的英文字串. 设计思想:先提示用户进行的操作是加密还是解密,用户输入一个字符串,加密时将前23个 ...

  7. adb shell

    1.获取进程ID adb shell ps |findstr packagename 2.获取cpu的值 adb shell dumpsys cpuinfo |findstr packagename ...

  8. SQLServer - 约束

    一.约束的分类 在SQLServer中,有3种不同类型的约束. 1.实体约束 实体约束是关于行的,比如某一行出现的值就不允许出现在其他行,例如主键. 2.域约束 域约束是关于列的,对于所有行,某一列有 ...

  9. git学习心得总结

    最近学习git,应为git可以不需要服务器而在任意的Linux机器上管理代码,相对svn和cvs还是有它的优势的,所以我选用了git来管理我的小项目,以后在提供svn的管理. 在使用了一段时间后想写一 ...

  10. 【转】输入/输出流 - 深入理解Java中的流 (Stream)

    基于流的数据读写,太抽象了,什么叫基于流,什么是流?Hadoop是Java语言写的,所以想理解好Hadoop的Streaming Data Access,还得从Java流机制入手.流机制也是JAVA及 ...