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. C#算法设计查找篇之04-斐波那契查找

    斐波那契查找(Fibonacci Search) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/704 访问. 斐波那契 ...

  2. Homekit_二路继电器

    介绍一款二路继电器,使用Homekit进行控制,有兴趣的可以去以下链接看看: https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-11265006 ...

  3. 【POJ3071】Football - 状态压缩+期望 DP

    Description Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, …, 2 ...

  4. Spring中眼花缭乱的BeanDefinition

    本篇博客主要参考:Spring官网阅读(四)BeanDefinition(上) 引入主题 为什么要读Spring源码,有的人为了学习Spring中的先进思想,也有的人是为了更好的理解设计模式,当然也有 ...

  5. 隐藏jqgrid滚动条

    .ui-jqgrid .ui-jqgrid-bdiv{ overflow-x: hidden; } /* 隐藏jqgrid滚动条 */

  6. SparkStreaming支持的业务场景

    目前而言SparkStreaming 主要支持以下三种业务场景: ➢ 无状态操作:只关注当前的DStream中的实时数据.例如:只对当前DStream中的数据做正确性校验.(下一条与上一条数据无关) ...

  7. golang []byte 和 string相互转换

    原文链接:golang []byte和string相互转换 测试例子 package main import ( "fmt" ) func main() { str2 := &qu ...

  8. SVG的引入历程

    直接引入编辑器会报错 Google: typescript svg cannot find module找到 这个网址 我放到了 shims-vue.d.ts 里面 declare module &q ...

  9. 区块链入门到实战(20)之以太坊(Ethereum) – 虚拟机(E.V.M.)

    作用:执行智能合约代码的引擎 以太坊(Ethereum)虚拟机是执行智能合约代码的引擎. 可以用某种语言,例如Solidity语言,开发智能合约程序,编译成以太坊(Ethereum)虚拟机支持的字节码 ...

  10. IDEA下Maven项目搭建踩坑记----3.最长的bug,最简单的错误。同一类中,部分函数的@AutoWired注入的对象失效

    这个错误绝对是我写到现在为止最傻X的一个错误,先上图 问题: 出了一个特别长的错误,大致的意思就是mapper.xml文件注入Dao层的时候失败. 解决: 查看一下错误的位置→ 找到Dao层 找到错误 ...