• IAR为STM32创建工程模板(基于STM32f103zet6)


    今天给小伙伴分享一篇给stm32新建工程模版

    1、首先打开IAR,就是这个样子

    2、再建一个目录文件夹

    3、建立一个工作空间,以及建好工作空间如右图所示

    4、接下来建立工程,Project--------Creat New Project

    点击Empty project-------------再点击OK

    选择你之前创建的目录里面,取个名字再保存就行了

    保存之后就是这个样子

    5、这个时候再点保存,就像下图,会跳出一个窗口(如图),这个是保存你的工作空间,取个名字(用原来的工程名字都行),点保存就行

    6、接下来添加分组

    7、我们要多多添加这样的几个分组,如下

    8、在我们之前的目录里面也创建如下的文件夹

    9、按图示操作把下载的库文件夹里的这部分 复制 到之前创建的文件夹里

    10、按照图示,把iar文件夹里的启动文件全部复制到Startup内

    11、再把这三个文件复制到Startup文件夹内

    12、继续复制文件,把标准库内(图示)目录下的三个文件复制到User目录下,

    之前少做了一件事要把Startup文件夹里面的stm32f10x.h移到User文件夹内,这样看的美观一些。

    13、导入文件,之前少创建了一个分组,补上如图所示

    导入文件的如下(如图):这里要注意一点,startup_stm32f10x_md.s这个文件是需要根据你的单片机型号来定的,不同型号的单片机这个启动文件不一样,我这里是stm32f103c8t6单片机

    14、在App里面创建一个main.c

    14、接下来配置工程

    15、选择单片机的型号

    16、将库配置选成Full,再勾选下面的Use CMSIS

    17、将char类型改成 有符号型

    18、接下来就是极为重要的一件事,添加group里面.c文件的路径,黄色框的文件都要点进去,再点确认

    添加完成的路径图片是这样的

    19、到这里,已经完成了七七八八,把鼠标点击到main.c,来编译一下,就是图中的图标

    这样编译会出现好多个错误,一看到这么错误肯定会慌

    不要慌!!!!!!!!

    不要慌!!!!!!!!

    不要慌!!!!!!!!

    不就是这样的错误么,英文意思是请选择你应用中的单片机型号的启动文件

    点击这个错误可以定位到这里

    也就是说工程里缺少   #if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)  这么多宏里面的一个

    所以我的单片机stm32f103c8t6的启动文件是STM32F10X_MD,按下图所示,添加这个东西之后,再编译

    20、再编译之后是下图

    这也是有原因的,我们点击一个警告错误,这个是初学者可能不懂,再把这个  USE_STDPERIPH_DRIVER  添加进去

    你们肯定会疑问为什么要添加这个这个宏,如下图所示

    看红框里面的斜蓝色字体,意思大致就是“如果你不使用外设驱动,在这种情况下,这些驱动不会被包括并且这些应用代码会直接基于外设寄存器”,所以我们需要这样的宏,再编译就显示没有错误,没有警告。

    • 以上为参考内容,与STM32f103SET6基本配置相同。仅有几处区别如下所示:

     

    •  配置过程中与遇到的主要问题:
    1. 不知道MDK中启动文件与IAR中是不同的两个文件,直接将MDK工程模板中启动文件拷贝到IAR工程中,作为启动文件。导致错误。。

      解决参考考博客:启动文件大量报错《startup_stm32f10x_hd.s》

    • 配置成功截图:

  • 相关阅读:
    文件I/O(二)
    linux学习之文件I/O篇(一)
    静态库和共享库
    vim-ide
    CentOS6 vsftpd 安装及优化方法
    Redmine2.5+CentOS6+Apache2
    分享一个TP5实现Create()方法的心得
    Windows证书的生成导出以及使用证书验证文件是否被修改
    如何设置程序UAC控制
    关于C#的可变长参数
  • 原文地址:https://www.cnblogs.com/lixuejian/p/10813872.html
Copyright © 2020-2023  润新知