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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python(含PyCharm及配置)下载安装以及简单使用(Idea)「建议收藏」

    Python(含PyCharm及配置)下载安装以及简单使用(Idea)「建议收藏」下载Python官网下载地址:Python下载不同参数解释,小伙伴们根据自己情况进行下载即可(此处博主用的是3.7.3版本):–web-basedinstaller:在线安装。下载的是一个exe可执行程序,双击后,该程序自动下载安装文件进行安装。网络安装版,需联网–executableinstaller:程序安装。下载的是一个exe可执行程序,双击进行安装。本地安装,可执行程序(***)–embeddablezipfile:解压安装。下载的是一个压缩文件,解压后即表示安装完成。嵌入式版

    2022年5月31日
    35
  • 监督学习、无监督学习、半监督学习、强化学习、自监督学习

    监督学习、无监督学习、半监督学习、强化学习、自监督学习一文读懂监督学习、无监督学习、半监督学习、强化学习四种方式 青烟王国 图:pixabay「机器人圈」导览:一般说来,训练深度学习网络的方式主要有四种:监督、无监督、半监督和强化学习。在接下来的文章中,机器人圈将逐个解释这些方法背后所蕴含的理论知识。除此之外,机器人圈将分享文献中经常碰到的术语,并提供与数学相关的更多资源。本文编译自硅谷著名的风险投资机构安德森霍洛维茨基金,作…

    2022年9月14日
    0
  • 手撸 webpack4.x 配置(二)[通俗易懂]

    手撸 webpack4.x 配置(二)[通俗易懂]接着上一篇手撸webpack4.x配置(一)继续学习webpack配置。今天我学习配置下webpack中另一个模块plugins配置。之前我们都是手动在打包后(dist)目录里手动新建的index.html然后把打包后生成的JS文件手动的引入,今天我们来安装一个插件让webpack自动给我们生成模板!1官网配置地址:html-webpack-p…

    2022年8月22日
    3
  • 使用Taro小程序框架开发一个学习、刷题、论坛、聊天交流的微信小程序

    使用Taro小程序框架开发一个学习、刷题、论坛、聊天交流的微信小程序项目介绍当代大学生上课缺少积极性,学习缺乏效率。同为大学生的我深有体会。所以特别开发出这样一款学习类的微信小程序帮助学生进行学习、巩固知识,同时增加对战PK模块来加强学生们的学习积极性。这是一个为学生提供在线学习课程、题库练习、考试答题、做题PK、上课签到、资料查阅、成绩分析等功能的微信小程序希望大佬们走过路过给个star~技术选型前端:Taro+微信小程序+Echarts后端:…

    2022年9月28日
    0
  • 【网盘搭建】使用Rclone挂载Google Drive扩容服务器存储,实现网盘无限容量[通俗易懂]

    【网盘搭建】使用Rclone挂载Google Drive扩容服务器存储,实现网盘无限容量[通俗易懂]一,前言1,Rclone是什么Rclone是一个开源的命令行程序,用于管理云存储上的文件。它是云供应商Web存储界面的功能丰富的替代方案。超过50种云存储产品支持Rclone,包括S3对象存储,GoogleDrive,OneDrive等业务和消费者文件存储服务以及标准传输协议。2,它能用来干嘛可以备份(和加密)文件到云存储。从云存储还原(和解密)文件。将云数据镜像到其他云服务或本地。将数据迁移到云,或在云存储供应商之间迁移。将多个加密的,缓存的或多样化的云存储作为磁盘挂载。3,项目地址Gith

    2022年7月16日
    43
  • virsh强制关机_db2常用命令

    virsh强制关机_db2常用命令virshlist#在线VMvirshlist–all#所有VMvirshstart#开机virshshutdown#软关机virshdes…

    2022年8月12日
    4

发表回复

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

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