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


    1、 在目录下建立一个名为Template的文件夹
    在这里插入图片描述

    2、 打开软件,new一个新的project
    在这里插入图片描述

    3、 在刚才建立的Template文件夹下建立一个USER文件夹(放代码工程文件),然后保存
    在这里插入图片描述

    4、 然后会弹出一个选择CPU的界面,我们选择STM32F103ZE,然后点击“OK”。下面还有一个不知道是什么的界面(有绿色的东西),不用管,也点击“OK”即可。

    在这里插入图片描述
    在这里插入图片描述

    5、 此时切换到USER目录,可以看到目录下有五个东西,Template.uvprojx是工程文件,非常关键,不能删除!!!但是Listings和Objects是MDK自动生成的文件夹,用于存放编译过程产生的中间文件,可以删除,也可以不删除,随意。

    在这里插入图片描述
    6、 在Template目录下建立三个文件夹:CORE、OBJ和STM32F10x_FWLib。CORE用来存放核心文件和启动文件,OBJ用来存放编译过程文件以及hex文件,STM32F10x_FWLib存放ST官方提供的函数库源码文件。
    在这里插入图片描述
    7、 将官方固件库中的源码文件复制到我们的工程文件中每个文件中需要复制的内容如下:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    8、 右击Target1,选择Manage Project Item然后进行添加,删除,修改,改的如图所示
    在这里插入图片描述

    9、 下面王Groups里的每个文件夹里添加东西,如上步右击Template(因为已经改过名了,就是上一步的Target1)再打开上面的界面,点击Template——FWLIB——Add Files,然后选择Template下的SSTM32F10x_FWLib下的src下面的所有文件(点击一个之后Ctrl+A全选),然后点击Add(只点击一次就好了!!!)
    在这里插入图片描述

    10、 同理,添加好CORE、USER,如下图(注意!CORE下.s的文件需要修改下文件类型)
    在这里插入图片描述
    在这里插入图片描述

    11、“OK”回到主界面,然后编译工程,点击那个小魔术棒,然后再OUTPUT里设置路径,路径是建立的OBJ文件夹,然后编译,会报很多错,正常情况,因为找不到头文件
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    12、 还是魔术棒,然后C/C++那里,下面有一个Include Paths,点击他右边的按钮,会弹出一个添加Path的对话框,如图所示添加路径,着重注意第三个是inc文件夹,不是src,然后再在Define中输入“STM32F10X_HD,USE_STDPERIPH_DRIVER”(都是英文),然后确定
    在这里插入图片描述
    在这里插入图片描述

    然后我们可以看到只有一个警告!我们离胜利又近了一步!

    13、 因为主要是学习如何创建一个工程文件,所以不求他有啥功能。这里的错误出在USER的main.c里,点击main.c,把里面所有打叉和黄色三角警告的语句都注释掉,然后再次编译,就没有错误了。
    在这里插入图片描述

    14、 这样的话新建一个工程模板就完成了。下面还需要配置,使编译之后能够生成hex文件。还是那个魔术棒,进入配置菜单,在OUTPUT里,如下图所示选中Create HEX file,然后OK。
    在这里插入图片描述

    15、 重新编译代码,可以在OBJ下看到.hex文件。如此以来,我们的工程模板就建立好了。
    在这里插入图片描述

    16、 在Template下再建立一个SYSTEM文件夹,并在文件夹里建立delay、sys、usart,每个文件夹下都有对应的.c和.h文件,从其他固件库中找到这些(直接拷SYSTEM文件夹也行)。然后右击Template,用同样的方法添加上SYSTEM以及其子文件,并给其三个文件夹添加路径,然后都OK。
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    这三个分别都在其同名的文件夹下,需要一个个添加。
    在这里插入图片描述

    17、 路径改完再编译,都没问题就好了!
    在这里插入图片描述

  • 相关阅读:
    SpringMVC的流程图解+内部各组件的源码和配置使用(全!!!!!!)
    easyui jquery 可能用到方法mark
    从MybatisPlus回归Mybatis
    OkHttp post json数据,Java
    华为机试:单词搜索(找到它)
    【PyQt】12-滑块、计数控件
    大度型人格分析,性格大度的优劣势及职业规划
    设计模式--享元模式(Flyweight Pattern)
    Nginx负载均衡详解
    大学生心理健康咨询系统的设计与实现
  • 原文地址:https://blog.csdn.net/weixin_46067990/article/details/126783540