美文网首页
STM32新建工程之坑

STM32新建工程之坑

作者: yuanliangx | 来源:发表于2017-12-16 12:24 被阅读0次

      按照开发板配套的“建立工程教程.pdf”文件创建工程,但是一直有各种错误导致工程创建不成功,现总结如下:
      1.路径中是否包含中文名不影响项目的正常创建。
      2.建立工程时有一些必要的文件需要提前复制到项目所在文件夹中,这些文件目录为:
       Common;
       Main;
       Project;
       Startup_config;
       STM32F4_FWLIB;
       USER;
      3.在New uVision Project的时候选择的是Project目录。
      4.按照教程中在USER目录下添加.c和.h文件后,在led.h中会提示找不到common.h,在main.c中会提示找不到led.h。

    image.png
      这是由于没有在Target中包含头文件目录,所以工程不知道去哪里寻找头文件,在Option for Target...的C/C++选项中对其进行定义。首先在Preprocessor Symbols中添加STM32F40_41xxx,USE_STDPERIPH_DRIVER,该环境变量的用处可参考http://bbs.elecfans.com/jishu_528721_1_1.html。然后Include Path选项下面添加头文件路径,修改后的选项如下图所示
    image.png
      5.此时不再提示头文件找不到的error了,build工程后仍然提示error,而且出现的error全部都在stm32f4xx_fmc.c文件夹中,解决方法可参考http://bbs.eeworld.com.cn/thread-427197-1-1.html,在向Manager Project Items的时候,对于STM32F4_FWLIB项直接添加了该目录下的所有文件(目前对这个支持不兼容的问题的理解还不深刻),参考上面的方法把stm32f4xx_fmc.c移除即可解决该问题,或者是在添加files的时候只添加misc.c; stm32f4xx_gpio.c; stm32f4xx_rcc.c; stm32f4xx_usart.c即可。
      6.此时又会提示新的error
    image.png
    这个是因为在Startup_config这个Group中没有添加startup_stm32f40_41xxx.s文件导致,该文件不是.c和.h扩展名的文件,所以在添加的时候容易漏掉。
      7.在调试过程中由于粗心有发现了一个问题,就是在编写完.c文件和.h文件后忘记了添加到工程中,于是keil报错
    image.png
    所以在创建了文件后一定要把对象文件添加到工程中去。
      8.编译通过后,再通过仿真器下载至开发板上时报错
    image.png
    这是由于Debug选项中默认为ULINK2,将其修改为J-LINK,继续报错
    image.png
    再在Utilities选项中的Configure Flash Menu Command的Setting选项中勾选Reset and Run选项。
    image.png
    下载成功。
      9.再添加新的功能模块时,比如usart,需要在“option for target”对话框中设置include路径,然后在“manage project items”对话框中把user代码添加至USER Groups中,最后还有最最最重要!!!!!!的一个步骤就是不要忘记把stm32f4xx_usart.c添加至STM32F4_FWLIB Group中,这个坑踩了还几次了!!!!!

    相关文章

      网友评论

          本文标题:STM32新建工程之坑

          本文链接:https://www.haomeiwen.com/subject/dhlswxtx.html