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. Java实现经典七大经典排序算法

    利用Java语言实现七大经典排序算法:冒泡排序.选择排序.插入排序.希尔排序.堆排序.归并排序以及快速排序. 分类 类别 算法 插入排序类 插入排序.希尔排序 选择排序类 选择排序.堆排序 交换排序类 ...

  2. 深度强化学习:Deep Q-Learning

    在前两篇文章强化学习基础:基本概念和动态规划和强化学习基础:蒙特卡罗和时序差分中介绍的强化学习的三种经典方法(动态规划.蒙特卡罗以及时序差分)适用于有限的状态集合$\mathcal{S}$,以时序差分 ...

  3. jQuery之表单校验:新用户注册

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. Express Response 之 end /send 傻傻分不清楚

    Express是一个轻量的经典的Node.js开启服务和快速路由管理的库.开启服务的方式也是非常的简单 只需要简单的,安装 $ npm install express   -------> 引入 ...

  5. TestLink使用指南

    TestLink安装上之后,局域网内用户可以登陆使用,下面介绍本软件的使用方式. 1.TestLink简介 TestLink是基于Web的开源测试管理工具,用户可以使用这个工具创建测试项目和测试用例, ...

  6. 【NOI2015】 软件包管理器 - 树链剖分

    noi2015 软件包管理器 Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软 ...

  7. 自绘引擎时代,为什么Flutter能突出重围?

    导语 | Flutter 框架是当下非常热门的跨端解决方案,能够帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面等多端开发.但仍然有很多产品.设计.甚至开发同学并不了解 Flut ...

  8. Lambda表达式的几种实现过程

    1.无参数+语句(代码块):适用于匿名内部类中方法无参数的情况 private void threadTest(){ //普通写法 new Thread(new Runnable(){ @Overri ...

  9. 你想了解的JDK 10版本更新都在这里

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  10. A Distributional Perspective on Reinforcement Learning

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1707.06887v1 [cs.LG] 21 Jul 2017 In International Conference on ...