1.新建一个文件夹,用于存放MDK的工程所有文件。例如新建文件夹Template。

2.在Template下新建一个USER文件夹,用于存放工程。

3.打开MDK5,新建工程,目录在USER下。

4.在Template下新建CORE、OBJ和STM32F10x_FWLib.
CORE是用来存放核心文件以及启动文件,工程创建成功后,会有三个文件 被复制到这个文件夹分别是
core_cm3.c\core_cm3.h\startup_stm32f10x_md.s
OBJ用于存放编译过程中的过程文件以及产生的hex文件,需要点击魔法棒配置该文件夹位存放过程文件的文件夹
stm32f10x_FWLib用于存放ST官方提供的固件库函数源码
注意:以上文件夹只有在CORE里边存放了一个与启动文件相关的.s问价,其余的问价都是.c文件。

/******************************************************************/
至此,文件的框架就已经搭建好了,下面开始去ST官方提供的固件库中去复制相关的文件

5.将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src和inc文件复制到STM32F10x_FWLib下。
src中存放的是c文件。Inc中存放的是与c文件相关的.h文件,.h文件的引入在MDK设置的魔法棒中配置。

6.将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport路径下的两个问价全部复制到CORE 中,分别是 core_cm3.c\core_cm3.h这是复制的核心文件,下面复制启动文件
\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm里边根据flash的大小选择对应的启动文件,我用的是stm32f103c8t6所以选择的是中等的。
到现在为止,CORE里边的问价就已经复制好了,一共三个 core_cm3.c\core_cm3.h\startup_stm32f10x_md.s

7.将\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下的三个问价复制到USER目录下分别是stm32f10x.c/stm32f10x.h/system_stm32f10x.h
再去官方提供的模板文件中复制main.c\stm32f10x_conf.h\stm32f10x_it,c\stm32f10x_it.h
到此为止,USER目录下的问价都已经复制完毕。

/****************************************************************************************************/
到此为止 复制官方文件的过程结束。

下面开始去MDK5中配置相关工程
8.在manage project中新建相关的文件夹,并且将所有相关的c文件引入

9.在魔法棒中引入相关的头文件,填写相关的宏,设置输出的过程文件到我们新建的OBJ文件夹下就OK了

最后,在main中删掉所有的代码
填写如下
#include"stm32f10x.h"
void main()
{

}

编译一下是没有警告没有错误的。
至此完成了新建一个库函数版本的MDK工程。
2020年2月8日22:05:34
这个新建的方法我是看的正点原子的视频,他的相关书籍中有比较详细的新建的办法。

学习STM32的一些记录_创建库函数版本的工程的更多相关文章

  1. 安装git,创建本地版本库

    安装 由于我使用的是Ubuntu,因此安装很简单,输入:sudo apt-get install git 如果是其他Linux版本,可以直接通过源码安装.先从Git官网下载源码,然后解压,依次输入:. ...

  2. LINUX内核分析第六周学习总结——进程的描述与创建

    LINUX内核分析第六周学习总结--进程的描述与创建 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc ...

  3. Android学习笔记——Activity的启动和创建

    http://www.cnblogs.com/bastard/archive/2012/04/07/2436262.html Android Activity学习笔记——Activity的启动和创建 ...

  4. C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节

    C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...

  5. Spring源码学习-容器BeanFactory(三) BeanDefinition的创建-解析Spring的默认标签

    写在前面 上文Spring源码学习-容器BeanFactory(二) BeanDefinition的创建-解析前BeanDefinition的前置操作中Spring对XML解析后创建了对应的Docum ...

  6. 学习STM32单片机,从菜鸟到牛人就是这样简单(配视频资料)

    我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32? 本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考虑的 ...

  7. 单片机小白应该如何学习stm32的一些实践心得!

    嵌入式搬砖道路上的大三狗一枚,撑死算个初学者吧.才学有限,下面仅仅是本人对STM32学习的一点心得与建议,希望对题主有帮助吧. 心得:本人当初学习STM32的时候有一些跟风的因素,自以为学的芯片越多就 ...

  8. 学习STM32,你不得不了解的五大嵌入式操作系统

    学习STM32,你不得不了解的五大嵌入式操作系统                                                  原标题:学习STM32,你不得不了解的五大嵌入式操作 ...

  9. (转)微服务_创建一个简单的Eureka注册中心

    原文地址:https://www.cnblogs.com/lplshermie/p/9105329.html 微服务和分布式已经成了一种极其普遍的技术,为了跟上时代的步伐,最近开始着手学习Spring ...

随机推荐

  1. 使用IDEA新建基于SpringBoot的Web项目(超详细)

    目前java的开发很多Learner都慢慢的学习使用IDEA这款工具,个人觉得其实相比Eclipse来说差不多,个人习惯的问题,但是我还是推荐IDEA这款工具.虽然它目前是收费的,但相信网上的各种破解 ...

  2. PAT 2-10. 海盗分赃(25)

    题目链接:http://www.patest.cn/contests/ds/2-10 解题思路:参考:http://blog.csdn.net/linsheng9731/article/details ...

  3. vue-cli的安装及版本查看/更新

    vue-cli的安装及版本查看更新 vue-cli安装 npm install vue-cli -g vue-cli的版本查看 vue -V vue-cli的3.0+以后使用的不是vue-cli了,如 ...

  4. Java成员变量和局部变量的区别

    定义位置不同: 成员变量:类中方法外 分为类变量(static修饰).实例变量(没有使用static修饰) 局部变量:方法内.代码块内 默认值不同: 成员变量:有默认初始化值 局部变量:没有默认初始化 ...

  5. JavaSE基础--part1

    Java特性和优势 简单.面向对象.可移植性.高性能.分布式.动态性.多线程.安全性.健壮性 Java的三大版本 JavaSE 标准版(应用于桌面程序,控制台开发) JavaME 嵌入式开发(手机,小 ...

  6. 《MySQL数据库》MySQL主从复制搭建与原理

    前言 主从复制:两台或者更多的数据库实例,通过二进制日志,实现数据同步.为什么需要主从复制,主从复制的作用是什么,答:为了预防灾难. 搭建 第一步:准备多实例环境.如何创建多实例见: 第二步:确保每一 ...

  7. Docker 部署 redis教程,附带部分小建议,防止踩坑

    Docker 部署 redis,附带部分小建议,防止踩坑 跟所有人一样,我们先从docker基本命令开始 一.拉取redis镜像(配图来自菜鸟,其实截图没多大意义,对比看下) # 默认就拉取laste ...

  8. Android开发之ScrollView去掉右侧滚动条,gridview如何去掉外边框

    android:scrollbars="none" android:listSelector="@null"

  9. eclipse android程序运行报错:Conversion to Dalvik format failed: Unable to execute dex:

    [2013-06-19 16:59:01 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support ...

  10. C# Beanstalkd Client

    http://bestmike007.com/Beanstalkd.Client/ Other Message Queue http://queues.io