Keil5新建STM32工程(详细图解)[通俗易懂]

Keil5新建STM32工程(详细图解)[通俗易懂]一、下载ST官方库    首先注册账号登录,然后点击产品、微控制器;如图       接着右侧的工具与软件;嵌入式软件,并选择STM32,如图。 我的是STM32F1系列,选择如图这个   获取软件   然后下载即可。 二、安装keil   不介绍。相信都安装好了。三、准备工作       新建project文件夹,并在里面新建三个文件夹,CMSIS(存放内核函数及启动引导文件)…

大家好,又见面了,我是你们的朋友全栈君。

一、下载ST官方库

      首先注册账号登录,然后点击产品、微控制器;如图

Keil5新建STM32工程(详细图解)[通俗易懂]

        接着右侧的工具与软件;嵌入式软件,并选择STM32,如图。

Keil5新建STM32工程(详细图解)[通俗易懂]

  我的是STM32F1系列,选择如图这个

Keil5新建STM32工程(详细图解)[通俗易懂]

    获取软件

Keil5新建STM32工程(详细图解)[通俗易懂]

    然后下载即可。


 二、安装keil

    不介绍。相信都安装好了。


三、准备工作

      

  新建project文件夹,并在里面新建三个文件夹,CMSIS(存放内核函数及启动引导文件),FWLIB(存放库函数),USER(存放用户自己的函数),如图。

Keil5新建STM32工程(详细图解)[通俗易懂]

     解压下载的官方库,主要用到标出的两个。

Keil5新建STM32工程(详细图解)[通俗易懂]

    将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport中的文件复制到CMSIS中,再将C:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的文件全部复制到CMSIS中。最终CMSIS中的文件如图。

Keil5新建STM32工程(详细图解)[通俗易懂]

        将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver中的 inc src 复制进FWLIB文件夹。

Keil5新建STM32工程(详细图解)[通俗易懂]

   将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template中的这几个文件复制进USER,

Keil5新建STM32工程(详细图解)[通俗易懂]

      至此 准备结束。


四、新建工程


  打开keil,新建工程temp(原来有工程需要关闭),保存在刚刚新建的project里面。

Keil5新建STM32工程(详细图解)[通俗易懂]

        保存后会让选择芯片。我用的是STM32F103VE系列,所以选这个。

Keil5新建STM32工程(详细图解)[通俗易懂]

        确定之后跳出一个窗口,直接关掉(这是让选择启动引导等的,我们已经下载的库里有,所以跳过这一步)。点红线圈出的图表,然后把tegart1改为temp。删除掉SourceGroup1.

Keil5新建STM32工程(详细图解)[通俗易懂]

    依次添加CMSIS、USER、FWLIB、STARTUP,并把刚刚复制在对应文件夹下的文件添加。注意的是STARTUP要选择NewProject\CMSIS\startup\arm中的startup_stm32f10x_hd.s、startup_stm32f10x_ld.s、startup_stm32f10x_md.s三个。文件类型选择所有。  FWLIB中只需要添加src中的.c文件即可。  CMSIS中不需要添加STARTUP中的文件。 添加完毕点击OK。

Keil5新建STM32工程(详细图解)[通俗易懂]

    然后点击魔法棒,进入C/C++设置界面,在define一栏输入 STM32F10X_HD,USE_STDPERIPH_DRIVER ,并在includepath栏加入头文件路径。

Keil5新建STM32工程(详细图解)[通俗易懂]

           includepath内容如下

Keil5新建STM32工程(详细图解)[通俗易懂]

        至此,工程创建完毕。可以点击编译查看是否有错。


五、问题与调试

  编译后发现有错,因为直接用的库里的main函数,不包含#include “stm32_eval.h” 头文件,直接删除。并把其他main函数中未用内容删除,并在main函数中包含相关头文件。空白工程主函数如图。

Keil5新建STM32工程(详细图解)[通俗易懂]

 在编译,依然有错。

Keil5新建STM32工程(详细图解)[通俗易懂]

意思是引导文件太多。就是STARTUP中只能一个引导使用。因为此处用的HD,所以把另外两个 Options for File    中的include TargetBulid 和 Always Bulid 的灰色勾点掉。

Keil5新建STM32工程(详细图解)[通俗易懂]

       更改完毕后STARTUP中其他两个前面都有红色杠杠。

                                            Keil5新建STM32工程(详细图解)[通俗易懂]


再次编译,还是有错。

Keil5新建STM32工程(详细图解)[通俗易懂]

    说是 system_stm32f10x_1.c and system_stm32f10x.c 重复。

    但是检查工程栏未发现有system_stm32f10x_1.c。最后发现是包含文件中存在重复。点击如图方块,发现在CMSIS和USER中都包含有system_stm32f10x_1.c。把CMSIS中的system_stm32f10x_1.c删除。编译无错。

Keil5新建STM32工程(详细图解)[通俗易懂]


    保存一下,空白工程建立完毕!之后就可以根据手册进行开发了O(∩_∩)O哈哈~。



        

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142349.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 安防监控系统的几个基础小知识

    安防监控系统的几个基础小知识  问题一:摄像机装多高?  我在和客户沟通的时,很多时候都建议客户室内不低于2.5米,室外不低于3.5米,这些数字虽然简单但考虑到了室内的高度及镜头下压的角度,也考虑到了室外安装时照射的长度及防人为破坏的因素。  问题二:支架安装有何建议?  在装摄像机的时候都会有壁装和吊装两种选择,超市等室内环境吊装比较多,室外一般选择壁装。一般轻巧些的机器比如中维世纪的JVS-N81-HY用04、05…

    2022年6月28日
  • 计算机病毒防治——计算机病毒种类

    计算机病毒防治——计算机病毒种类在介绍病毒种类之前,先来介绍一些常识1、计算机病毒防治要确定安全的度,针对不同的指标设立不同的安全手段,通过以下三个方面来确定度: <1>安全威胁 <2>被保护物品的价值 <3>安全措施所要达到的目标 当攻破防御的成本大于得到数据的收益时,则系统相对来说攻击的人员较少,这时称这个系统是安全的。2、病毒是指是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并且能够自我复制的一组计算机指令或者程序代码。它的根本特点是能够进行自我复制

    2022年6月4日
  • 微服务——Eruka

    1、Eruka——基于HTTPREST的服务发现框架定位于AWS(亚马逊网络服务)域中的中间层服务负载均衡、中间层服务故障转移注:Eruka专门用于发现服务,一些服务将自己注册进Eruka,使另一些服务通过Eruka查找其所要调用的服务;充当服务发现服务的组件很多,如:Zookeeper、Consul、Eruka等2、Eruka架构图…

    2022年4月4日
  • yum卸载重装[通俗易懂]

    yum卸载重装[通俗易懂]莫名原因(之前操作不小心删除了某相关文件)导致虚拟机的yum使用不了,在重新安装之前需要卸载原来的相关数据1.删除/usr/share目录下的yum-cli、yum-pluginrm-rfyum-cli/yum-plugins/2.清理与yum相关的文件rpm-qa|grepyumrpm-eyum-3.4.3-161.el7.centos.noarch…

    2022年6月10日
  • 基于Python 输出字符HelloWorld简单总结

    基于Python 输出字符HelloWorld简单总结根据简明教程:源文件#!/usr/bin/python#Filename:helloworld.pyprint'HelloWorld'运行程序,打开shell键入命

    2022年7月6日
  • Django(14)模型中常用的属性(超详细)[通俗易懂]

    Django(14)模型中常用的属性(超详细)[通俗易懂]模型中常用字段字段说明AutoField一般不需要使用这个类型,自增长类型,数据表的字段类型为整数,长度为11位BigAutoField自增长类型,数据表的字段类型为bigint,长度为2

    2022年7月31日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号