大家好,因为自身对STM32接触的较多,今天向大家介绍一下如何在MDK5上新建工程。
给小伙伴们推荐几个网址,对学习STM32很有帮助。
正点原子官方论坛;STM32中文论坛;MDK官方;正点原子B站教程
接下来给大家总结一下如何新建工程
我用的板子是STM32F10ZET6战舰版,基于固件库版本。

  1. 在电脑里新建一个文件夹Template(名字可以任取),在文件夹里在建一个文件夹,命名USER。

  2. 打开MDK,选择project—>新建,文件名任取,选择在刚刚新建的USER文件夹下,点击【保存】。
    然后会弹出对话框,选择你的板子类型,这里注意不要选错,我的是STM32F103ZE系列,点击【OK】。

    然后弹出的对话框点【取消】就好了。

  3. 在刚刚新建的工程目录下在新建三个文件夹:CORE、OBJ、stm32f103x_FWLIB.

  4. 接下来需要复制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文件夹下。

  5. 打开固件库包STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的两个文件

    到工程目录的CORE文件夹下

  6. 复制启动文件到【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

  7. 复制一些文件到【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个文件

  8. 接下来在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]文件。

    这样文件就全部引用到工程中了。

  9. 配置工程文件输出
    如下图所示,弹框中选择【OutPut】选项,勾选【Create HEX File】,点击【Select Folder for Objects],选择自己建的工程目录下的【OBJ】文件夹,用于保存调试过程中生成的文件。

  10. 引用头文件
    和上面的弹框一样,选择【C/C++】选项卡,添加头文件路径

    将工程目录下的【CORE】、【USER】,【stm32f10x_FWLIB】—>【inc】(注意这里是【inc】目录,不要弄错)添加进来,如下图所示,点击【OK】。

  11. 全局宏定义
    仍然是【C/C++】选项卡,输入STM32F10X_HD,USE_STDPERIPH_DRIVER,点击OK
    这样就配置完成了,接下来点击main.c函数,可以将其清空,自己写个简单的。然后再点击编译调试,点击【构建】,生成目标文件,如果遇到了无法生成目标文件的错误,这时我们需要打开工程目录【OBJ】文件夹,将里面的文件全部删除,在重新点击【构建】。
    这样整个工程就建立完成了,然后就可以自己进行编写程序啦。

MDK5新建工程详细教程-基于固件库相关推荐

  1. stm32(库函数)——新建基于固件库的MDK5工程模板

    这里根据STM32不完全手册记录建立库函数版本的基于固件库的MDK5工程模板. 1.我们每一次新建工程都会新建一个文件夹存放所有文件. 2.点击MDK的菜单:Project->New Uvisi ...

  2. 总结基于寄存器与基于固件库stm32编程的差异

    基于寄存器与基于固件库stm32编程方式有什么差异 总的来说是专业层面或者说是应用层面的区别 总的来说是专业层面或者说是应用层面的区别 从应用角度讲,寄存器相对来说是属于更底层的,类似于驱动层,而固件 ...

  3. STM32_基础入门_新建工程文件—基于固件库

    持续关注阿杰在线更新保姆式笔记~~坚持日更 1) 在建立工程之前,建议用户在电脑的某个目录下面建立一个文件夹,后面所建立的工 程都可以放在这个文件夹下面,这里我们建立一个文件夹为 Template. ...

  4. 嵌入式 新建基于固件库的MDK5工程模板

    1. 在目录下建立一个名为Template的文件夹 2. 打开软件,new一个新的project 3. 在刚才建立的Template文件夹下建立一个USER文件夹(放代码工程文件),然后保存 4. 然 ...

  5. STM32基于固件库学习笔记(11)RTC实时时钟

    实时时钟(RTC) 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx.STM32F102xx和STM32F103xx微控制器. 中容量产品是指闪存存储器容量在64K至128 ...

  6. STM32基于固件库学习笔记(4)(通用定时器)TIM3定时1S中断

    STM32F103ZE系列定时器资源 有 TIME1 和 TIME8 等高级定时器,也有 TIME2~TIME5 等通用定时器,还有 TIME6 和TIME7 等基本定时器. 通用定时器:是一个通过可 ...

  7. stm32f407探索者开发板(二)——新建工程(基于固件库)

    文章目录 零.预先准备 一.创建文件 二.移植文件资源(基于探索者) 2.1 USER 2.2 CORE 2.3 PWLIB 2.4 SYSTEM 2.5 OBJ 三.添加路径 3.1 PWLIB 3 ...

  8. 详细教程||基于51单片机开发的十路抢答器设计

    一.设计要求 (1)抢答器同时供10名选手或10个代表队比赛. (2)设置一个系统清除和抢答控制开关S,该开关由主持人控制. (3)抢答器具有锁存与显示功能.即选手按动按钮,锁存相应的编号,并在LED ...

  9. mc服务器linux配置,详细教程——基于Centos搭建MC服务器(outdated)

    Hypnotic – Zella Day 前人用实践告诉你,1M带宽的垃圾服务器真的放不下第四个人玩mc,所以搭建小型mc服务器最好买带宽在2M以上或者5M的vps. 用Linux搭服的效率非常高,单 ...

最新文章

  1. 在vs2008中配置OpenCV2.2
  2. 磁悬浮地球仪底座驱动电路板分析
  3. Spring(3)——装配 Spring Bean 详解
  4. MySQL性能调优与架构设计——第4章 MySQL安全管理
  5. 计算机视觉——简介以及人脸数目检测
  6. UVA494 Kindergarten Counting Game
  7. VSCode运行Python教程
  8. bzoj3275: Number
  9. 软件技术专家能力模型
  10. 使用Selenium爬取淘宝商品
  11. Python爬虫:盖楼抽奖还手动?自动的她不香吗?
  12. 使用R进行数据可视化套路之-茎叶图、盒形图
  13. win7 php7 redis扩展,win7 php5.6 redis扩展
  14. Docker构建JDK 镜像
  15. 拓润服装ERP管理系统
  16. MySQL无法启动报 Error: could not open single-table tablespace file ./mysql/innodb_table_sta
  17. [RK3568 Android11] 开发之蓝牙(AP6275S)
  18. 回看皮尔斯—皮尔斯的逻辑开篇
  19. 线性代数学习笔记——第八讲——矩阵的初等变换
  20. 三十三、数据库相关4

热门文章

  1. 机器学习实战六步法之训练模型、优化模型、部署模型(七)
  2. unity videoplayer视频播放无声音
  3. 教你一招解决Win10计算器打不开的问题
  4. 2020届秋招 网易互娱游戏研发工程师面经(已offer)
  5. 新思科技招聘 | 十一月热招职位(外企内推哦)
  6. android 网络连接和断开图标,网络连接频繁显示已断开?你该看看这篇文章!
  7. QQ第三方登录的详细教程
  8. MTU,MRU,MSS
  9. 魔兽发信息给其他服务器的人,魔兽世界怎么跨服密人(魔兽怀旧服可以跨服组队吗)...
  10. 《炬丰科技-半导体工艺》多孔硅的冲洗和干燥研究