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. itest(爱测试) 开源一站式敏捷测试管理平台&极简项目管理,重大升级(接口测试)6.0.0 发布

    itest 简介 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试5合1,又有丰富的统计分析.可按测试包分配测试用例执行,也可建测试迭代 ...

  2. 高吞吐量消息系统—kafka

    现在基本上大数据的场景中都会有kafka的身影,那么为什么这些场景下要用kafka而不用其他传统的消息队列呢?例如rabbitmq.主要的原因是因为kafka天然的百万级TPS,以及它对接其他大数据组 ...

  3. 剑指Offer——II平衡二叉树

    class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None # 这道题使用中序遍历加上 ...

  4. 【Leetcode 做题学算法周刊】第八期

    首发于微信公众号<前端成长记>,写于 2020.05.07 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 15 ...

  5. vue自定义可输入的选择框组件

    vue自定义可输入的选择框组件 props: 属性 说明 类型 默认值 selectDataList 下拉框中的内容 Array 空数组([]) value 输入框中的内容 String 空字符串(& ...

  6. 图论算法(二)最短路算法:Floyd算法!

    最短路算法(一) 最短路算法有三种形态:Floyd算法,Shortset Path Fast Algorithm(SPFA)算法,Dijkstra算法. 我个人打算分三次把这三个算法介绍完. (毕竟写 ...

  7. python列表的增删改查和嵌套

    列表 python常用的数据类型 可承载任意的数据类型 列表是有序的,可索引.切片(步长) 列表的创建 list1 = [1, 2, 'whll'] #1. list2 = list() #2. #3 ...

  8. React 17 要来了,非常特别的一版

    写在前面 React 最近发布了v17.0.0-rc.0,距上一个大版本v16.0(发布于 2017/9/27)已经过去近 3 年了 与新特性云集的 React 16及先前的大版本相比,React 1 ...

  9. python使用mongodb--基础操作(增、删、改、查)

    连接数据库 client = pymongo.MongoClient(host="127.0.0.1", port=6666) db = client['Media'] db.au ...

  10. 实现图像的二值化(java+opencv)

    书里的解释: 其他的没找到什么资料,直接参考百度百科 https://baike.baidu.com/item/%E5%9B%BE%E5%83%8F%E4%BA%8C%E5%80%BC%E5%8C%9 ...