MDK5新建工程详细教程-基于固件库
大家好,因为自身对STM32接触的较多,今天向大家介绍一下如何在MDK5上新建工程。
给小伙伴们推荐几个网址,对学习STM32很有帮助。
正点原子官方论坛;STM32中文论坛;MDK官方;正点原子B站教程
接下来给大家总结一下如何新建工程
我用的板子是STM32F10ZET6战舰版,基于固件库版本。
在电脑里新建一个文件夹Template(名字可以任取),在文件夹里在建一个文件夹,命名USER。
打开MDK,选择project—>新建,文件名任取,选择在刚刚新建的USER文件夹下,点击【保存】。
然后会弹出对话框,选择你的板子类型,这里注意不要选错,我的是STM32F103ZE系列,点击【OK】。
然后弹出的对话框点【取消】就好了。
在刚刚新建的工程目录下在新建三个文件夹:CORE、OBJ、stm32f103x_FWLIB.
接下来需要复制STM32的固件库包STM32F10x_StdPeriph_Lib_V3.5.0到工程目录下,下载地址:http://openedv.com/posts/list/6054.htm。下载后解压打开STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver。复制inc和src文件夹到自己建的stm32f103x_FWLIB文件夹下。
打开固件库包STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的两个文件
到工程目录的CORE文件夹下复制启动文件到【CORE】文件夹
打开固件库包\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
这里说明一下,这几个文件是根据板子容量来区分的,hd是大容量(flash大于128KB),md是中等容量(64-128KB),ld是小容量(小于64KB)。STMF103都是大容量,所以选择startup_stm32f10x_hd.s复制一些文件到【USER】目录下,总共有7个文件需要复制。
打开固件库包\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x,选择这三个文件,复制到工程目录的USER文件夹下。
打开固件库包STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template
再复制4个文件到【USER】文件夹下
这样复制完,我们的【USER】文件夹下一共有7个文件
接下来在MDK中引用这些文件到工程中
打开MDK,如图所示,管理项目
然后增加分组,命名【CORE】,【USER】、【FWLIB】、【OBJ】如下图所示
然后是对每个分组增加文件,点击右侧【add Files】。
(1)USER分组:打开工程文件夹下的【USER】,选择三个C文件,点击【Add】然后关闭窗口就可以了。
(2)FWLIB分组:打开工程文件夹的【stm32f103x_FWLIB】->【src】文件夹,选择所有的文件,点击【Add】。
(3)CORE分组:打开工程文件夹的【CORE】文件夹,选择如图两个文件,点击【Add】。说明一下,文件后缀默认是C文件,这里需要在选择是将文件类型改成【ALL File】才能看到[startup_stm32f10x_hd.s]文件。
这样文件就全部引用到工程中了。配置工程文件输出
如下图所示,弹框中选择【OutPut】选项,勾选【Create HEX File】,点击【Select Folder for Objects],选择自己建的工程目录下的【OBJ】文件夹,用于保存调试过程中生成的文件。引用头文件
和上面的弹框一样,选择【C/C++】选项卡,添加头文件路径
将工程目录下的【CORE】、【USER】,【stm32f10x_FWLIB】—>【inc】(注意这里是【inc】目录,不要弄错)添加进来,如下图所示,点击【OK】。
全局宏定义
仍然是【C/C++】选项卡,输入STM32F10X_HD,USE_STDPERIPH_DRIVER,点击OK
这样就配置完成了,接下来点击main.c函数,可以将其清空,自己写个简单的。然后再点击编译调试,点击【构建】,生成目标文件,如果遇到了无法生成目标文件的错误,这时我们需要打开工程目录【OBJ】文件夹,将里面的文件全部删除,在重新点击【构建】。
这样整个工程就建立完成了,然后就可以自己进行编写程序啦。
MDK5新建工程详细教程-基于固件库相关推荐
- stm32(库函数)——新建基于固件库的MDK5工程模板
这里根据STM32不完全手册记录建立库函数版本的基于固件库的MDK5工程模板. 1.我们每一次新建工程都会新建一个文件夹存放所有文件. 2.点击MDK的菜单:Project->New Uvisi ...
- 总结基于寄存器与基于固件库stm32编程的差异
基于寄存器与基于固件库stm32编程方式有什么差异 总的来说是专业层面或者说是应用层面的区别 总的来说是专业层面或者说是应用层面的区别 从应用角度讲,寄存器相对来说是属于更底层的,类似于驱动层,而固件 ...
- STM32_基础入门_新建工程文件—基于固件库
持续关注阿杰在线更新保姆式笔记~~坚持日更 1) 在建立工程之前,建议用户在电脑的某个目录下面建立一个文件夹,后面所建立的工 程都可以放在这个文件夹下面,这里我们建立一个文件夹为 Template. ...
- 嵌入式 新建基于固件库的MDK5工程模板
1. 在目录下建立一个名为Template的文件夹 2. 打开软件,new一个新的project 3. 在刚才建立的Template文件夹下建立一个USER文件夹(放代码工程文件),然后保存 4. 然 ...
- STM32基于固件库学习笔记(11)RTC实时时钟
实时时钟(RTC) 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx.STM32F102xx和STM32F103xx微控制器. 中容量产品是指闪存存储器容量在64K至128 ...
- STM32基于固件库学习笔记(4)(通用定时器)TIM3定时1S中断
STM32F103ZE系列定时器资源 有 TIME1 和 TIME8 等高级定时器,也有 TIME2~TIME5 等通用定时器,还有 TIME6 和TIME7 等基本定时器. 通用定时器:是一个通过可 ...
- stm32f407探索者开发板(二)——新建工程(基于固件库)
文章目录 零.预先准备 一.创建文件 二.移植文件资源(基于探索者) 2.1 USER 2.2 CORE 2.3 PWLIB 2.4 SYSTEM 2.5 OBJ 三.添加路径 3.1 PWLIB 3 ...
- 详细教程||基于51单片机开发的十路抢答器设计
一.设计要求 (1)抢答器同时供10名选手或10个代表队比赛. (2)设置一个系统清除和抢答控制开关S,该开关由主持人控制. (3)抢答器具有锁存与显示功能.即选手按动按钮,锁存相应的编号,并在LED ...
- mc服务器linux配置,详细教程——基于Centos搭建MC服务器(outdated)
Hypnotic – Zella Day 前人用实践告诉你,1M带宽的垃圾服务器真的放不下第四个人玩mc,所以搭建小型mc服务器最好买带宽在2M以上或者5M的vps. 用Linux搭服的效率非常高,单 ...
最新文章
- 在vs2008中配置OpenCV2.2
- 磁悬浮地球仪底座驱动电路板分析
- Spring(3)——装配 Spring Bean 详解
- MySQL性能调优与架构设计——第4章 MySQL安全管理
- 计算机视觉——简介以及人脸数目检测
- UVA494 Kindergarten Counting Game
- VSCode运行Python教程
- bzoj3275: Number
- 软件技术专家能力模型
- 使用Selenium爬取淘宝商品
- Python爬虫:盖楼抽奖还手动?自动的她不香吗?
- 使用R进行数据可视化套路之-茎叶图、盒形图
- win7 php7 redis扩展,win7 php5.6 redis扩展
- Docker构建JDK 镜像
- 拓润服装ERP管理系统
- MySQL无法启动报 Error: could not open single-table tablespace file ./mysql/innodb_table_sta
- [RK3568 Android11] 开发之蓝牙(AP6275S)
- 回看皮尔斯—皮尔斯的逻辑开篇
- 线性代数学习笔记——第八讲——矩阵的初等变换
- 三十三、数据库相关4
热门文章
- 机器学习实战六步法之训练模型、优化模型、部署模型(七)
- unity videoplayer视频播放无声音
- 教你一招解决Win10计算器打不开的问题
- 2020届秋招 网易互娱游戏研发工程师面经(已offer)
- 新思科技招聘 | 十一月热招职位(外企内推哦)
- android 网络连接和断开图标,网络连接频繁显示已断开?你该看看这篇文章!
- QQ第三方登录的详细教程
- MTU,MRU,MSS
- 魔兽发信息给其他服务器的人,魔兽世界怎么跨服密人(魔兽怀旧服可以跨服组队吗)...
- 《炬丰科技-半导体工艺》多孔硅的冲洗和干燥研究