STM32开发-MDK新建工程及配置
本人也是接触stm32没多久,之前用的MDK是5.1,现在用的是5.13,MDK5.0之前的版本(本人简称旧版)和之后的版本(本人简称新版)新建工程有很大区别。对于刚开始用学stm32的新手来说,基本上stm32 的视频教程,都是使用的旧版MDK,如果新手直接安装的是新版的MDK的话,往往总是会有一些困惑。 本人深有作为新手刚入手MDK5.13时新建工程的困惑感受,特地发了该贴,以图文并茂的方式,详述了MDK5.13新建工程的步骤,只希望大家一起分享、学习,若有不足之处,望各位大大指正,谢谢!
1、新建一个文件夹,作为工程保存的地方,本人已Temp为例
2、打开MDK5.13,点击pack installer,会弹出一个欢迎的界面,直接点击OK

然后在pack installer界面的右边search栏,搜索你的芯片型号,以stm32f103c8为例,device栏里面会显示stm32f103c8的信息
用鼠标左键单击选中,然后在pack installer左边的pack栏里面会出现对应的安装包(KEIL:STM32F1xx_DFP),直接点击旁边的install按钮,就可安装该芯片系列的固件库。
安装完后,直接关掉该界面,然后进入MDK界面,若出现有更新的提示,直接点击确定。
3、点击project--new u_vision project新建工程,输入工程名,以Temp为例

4、出现选择芯片型号的界面,在search栏里面直接输入你的芯片型号,在下方就会自动显示出来,左键单击选中,然后点击OK
注意:如果没搜到,是因为没有安装该芯片的固件库 安装方法上面已经给出,也可下载双击运行安装

5、然后会弹出manage run -time environment的运行环境界面,必须选择的有CMSIS下的core和device下的startup,至于其它的根据你需要的外设,在stdperiph Driver里面选择相应的外设驱动,比如ADC、GPIO等
需要注意的是,在配置运行环境时,正确配置时,打钩的地方是绿色。未正确配置的话,打钩的地方是黄色。因为往往你选择一个配置,一般还需要选择另外的几个配置配合才能正确配置。比如你要用到外设GPIO,选择GPIO后,选择区域会变成黄色,表示你没有正确配置,还需要选择其他的几个配置来配合,此时下方会出现还需要选中那几个配置的提示信息,按照提示选择即可
选择外设GPIO,下方提示你还需要选择framework和RCC
注意左下角的Resolve,它可以帮助你一键选中关联项
按照提示选择后,所有打钩的地方都变成绿色,表示已正确配置。
6、接下来,回到了MDK5.13界面,在左边工程目录下,我们已经添加了一些刚才我们配置的文件,包括启动文件以及一些外设驱动文件,此时我们打开我们的工程目录文件夹,发现MDK已经自动为我们建立了几个文件夹
然后我们新建一个文件夹user(可任意命名),用来存放用于自己添加的源文件和头文件
7、新建一个源文件,命名为main.c,然后保存到user文件夹里面,以后只要是用于自己新建的.c文件和.h文件都放在这个文件夹下
8、右键点击MDK5.13左边的工程Target1,选择manage Project Items,在弹出的界面中,可以自己更改工程名,和源文件组名,分别双击Target1和source groups即可更改
并点击add files添加新文件到源文件组里面,以之前新建的main.c为例。

9、点击options for target,配置MDK
注意:晶振参数取决于具体的板子





10 配置MDK的自动索引功能,点击MDK菜单Edit下的configuration

本文转自:http://www.stmcu.org/module/forum/thread-600249-1-1.html
注:仅用于个人学习
STM32开发-MDK新建工程及配置的更多相关文章
- STM32开发环境--使用MDK建立一个工程
STM32开发环境--使用MDK建立一个工程 该工程模版是基于库函数基础制作而成,其中有借鉴相关资料.虽然工程模版一旦建立,以后任何项目只需套用即可,但考虑到长时间不使用,在将来某天可能会突然用到,再 ...
- Linux下STM32开发环境的搭建
目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...
- stm32开发之标准库的介绍
1 STM32标准外设库概述 STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序.数据结构和宏组成,包括了微控制器所有外设的性能特征.该函数库还包括每一个外设的驱动描 ...
- STM32开发(一):简介及开发环境
1. 背景 STM32是意法(ST)公司开发的基于ARM Cortex-M系列的一系列微控制器(MCU). 有两种库 标准外设库(StdPeriph_Driver.Standard Periphera ...
- windows下STM32开发环境的搭建
一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...
- ubuntu linux下建立stm32开发环境: 程序烧录 openocd+openjtag
原文出处: http://blog.csdn.net/embbnux/article/details/17619621 之前建立stm32开发环境,程序也已经编译好生成main.bin,接下来就是要把 ...
- ubuntu下安装stm32开发环境
在windowns下开发stm32刚开始学最烦的就是创建工程模板,都不知道为什么要那样设置,而且步骤繁多.现在我告诉大家一个好消息,在linux下配置stm32开发环境包括创建工程,使用JLink仿真 ...
- 转载:百为STM32开发板教程之十二——NAND FLASH
http://bbs.21ic.com/icview-586200-1-1.html 百为STM32开发板教程之十二——NAND FLASH 参考资料:百为stm32开发板光盘V3\百为stm32开发 ...
- 转载:百为STM32开发板教程之十一——NOR FLASH
转载:http://bbs.21ic.com/icview-586199-1-1.html 百为STM32开发板教程之十一——NOR FLASH 参考文档:百为stm32开发板光盘\st官方参考资料\ ...
随机推荐
- P2575 高手过招
传送门 直接搞好像搞不了 考虑转换模型 显然每一行棋子不会跑到其他行.. 所以可以把每一行的情况看成一个子博弈 显然整个答案就是每一行的SG值的异或和 不懂的回去学SG函数... 考虑怎么分析一行的状 ...
- zabbix 安装使用
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决 ...
- wireshark开发环境搭建
自己完成了wireshark开发环境的搭建,主要参考资料是wireshark的官方developer-guide.pdf,网址:https://www.wireshark.org/docs/. 现把搭 ...
- How to Setup MySQL (Master-Slave) Replication in CentOS
The following tutorial aims to provide you a simple step-by-step guide for setting up MySQL (Master- ...
- Python学习笔记_零碎知识
1. 变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言.静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错. 2. Python有两种除法: /除法计算结果是浮点数, ...
- JavaScript base64多图上传
<div> <form action="/home/Uplod" method="post" enctype="multipart/ ...
- java——多线程的实现方式、三种办法解决线程赛跑、多线程数据同步(synchronized)、死锁
多线程的实现方式:demo1.demo2 demo1:继承Thread类,重写run()方法 package thread_test; public class ThreadDemo1 extends ...
- array.map
定义和用法 map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值. map() 方法按照原始数组元素顺序依次处理元素. 注意: map() 不会对空数组进行检测. 注意: ma ...
- jeecg权限设置案例
JEECG简单实例讲解权限控制 一.业务背景 某公司要实现一个日志系统,用来了解员工的工作量饱和情况. 二.需求 1.角色分为:员工.经理两种. 2.员工每天在日志系统中填报工作总结,然后经理进行点评 ...
- 性能测试工具LoadRunner09-LR之Virtual User Generator 日志
在录制和回放的时候,VU会分别把发生的事件记录成日志文件,这些日志有利于我们跟踪VU和服务器的交互过程 回放日志(Replay Log) 脚本回放运行时的输出都记在这个Log里 “输出”窗口的“回放日 ...