STM3210x建工程库函数版本
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建工程库函数版本的更多相关文章
- 学习STM32的一些记录_创建库函数版本的工程
1.新建一个文件夹,用于存放MDK的工程所有文件.例如新建文件夹Template. 2.在Template下新建一个USER文件夹,用于存放工程. 3.打开MDK5,新建工程,目录在USER下. 4. ...
- DEVC怎么建工程
1.DEVC建工程 1.1 新建项目 打开文件,选择新建-->项目-->ConsoleApplication(控制台程序),输入项目名,选择保存路径.(单独建一个文件夹存放) 项目建成功后 ...
- stm32库函数建工程和使用Keil自带库建工程有没有区别?发现了同样的程序在两种情况下keil自带库可以运行的情况,不知是什么原因
我使用库函数建的工程(非Keil自带库),为了实现SPI对Si24r1芯片数据的读写,以验证stm32是否可以和si24r1能够正常通信,发现使用库函数建的工程程序不能通过,读出来的数据和写的数据不一 ...
- Keil5新建STM32工程(库函数版本)
1.下载keil5教程参考:https://blog.csdn.net/qq_36854651/article/details/82632931 2.安装完keil5后,创建一个空的目录存放工程 3. ...
- Cocos2d-x建工程时避免copy文件夹和库
方法一:(官方做法) 打开F:\cocos2d-1.0.1-x-0.9.1目录下的cocos2d-win32.vc2010.sln文件,然后右键点击解决方案,选择"添加"—&quo ...
- [转]Cocos2d-x建工程时避免copy文件夹和库
原文链接: http://www.cnblogs.com/andyque/archive/2011/09/27/2192920.html 在上一篇教程中,我们演示了如何使用VS2010来新建一个工程 ...
- eclipse 利用已有c++代码建工程,并编译执行
如果你想建一个带Makefile的c++ 工程 1. 新建一个C++空工程,工程类型是makefile project,选择Linux GCC: 2. 将源码连同makefile文件一同作为一个文件系 ...
- [ASP.NET Core] 建置x86版本 (workaround)
前言 本篇文章介绍如何建置ASP.NET Core项目的x86版本输出(workaround),为自己留个纪录也希望能帮助到有需要的开发人员. ASP.NET Core官网 步骤 首先到微软官网的「. ...
- 修改eclipse工程jdk版本
在eclipse中项目jdk版本不匹配的时候需要修改项目工程的jdk版本,但是网上的一些版本修改不是很完全,经过一些摸索之后,参考总结了我在项目中的具体配置实践 问题: 修改eclipse中的项目jd ...
随机推荐
- ASP.NET中Onclick和OnserverClick事件的区别
对于服务器按钮控件(即<asp:Button>类型的按钮): 服务器响应事件:OnClick 客户端响应属性:OnClientClick 对于html按钮控件(即<input typ ...
- DLL 导出封装类
首先使用Wizard创建一个Win32 Dynamic-Link Library工程,然后定义一个简单的C++类CInDLL.由于该类会被工程之外的文件所引用,所以需要对这个类进行引出.因为只有引出后 ...
- 关于SqlHelper
在 SqlHelper 类中实现的方法包括: ExecuteNonQuery.此方法用于执行不返回任何行或值的命令.这些命令通常用于执行数据库更新,但也可用于返回存储过程的输出参数. Exec ...
- linux下如何使用sftp命令
sftp 是一个交互式文件传输程式.它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性.下边就简单介绍一下如何远程连接主机,进行文件的上传和下载,以及一些相关操作. 举例,如远程主机的 IP ...
- 003-Tuple、Array、Map与文件操作入门实战
003-Tuple.Array.Map与文件操作入门实战 Tuple 各个元素可以类型不同 注意索引的方式 下标从1开始 灵活 Array 注意for循环的until用法 数组的索引方式 上面的for ...
- 移除project,testsuite,testcase级别所有的custom properties
// Remove all custom properties on Project level. If removed, custom properties cannnot be injected ...
- AndroidStudio快捷键
在这里,自己整理了下在使用AndroidStudio开发工具所使用到的一些快捷键提示,也出于在开发过程中节省时间提升效率,然而可能多数开发者之前使用的都是Eclipse开发工具,可能开始都不习惯,但是 ...
- linux自动更新代码,打包发布
1.安装svn yum install subversion 2.安装 maven 下载:百度云盘地址为 http://pan.baidu.com/s/1nuKQGjv 解压 tar -zxvf ap ...
- 这种代码怎么改写?以致于在下次增加CustomsType时,不需要再加 if 语句。
最近看到项目里一段代码如下: excelObject excel = new excelObject(); if (loadbill.CustomsType == 1) excel.IDownload ...
- GridView不能添加头布局,并且scrollView与GridView冲突导致一些页面无法融合
此贴为标记贴 方便下次使用 在项目需求中原本是用ScrollView来进行整个页面的滑动,ScrollView里面包含的有图片轮播,文字轮播,与2列GridView的item 问题 使用原生的Grid ...