手把手教你用Keil5新建STM32工程

2023-11-01

一、去Keil官网下载STM32芯片支持包
网址http://www.keil.com/dd2/pack 下载之后安装,这里的芯片支持包对应标准库的开发。

二、去STM32社区下载STM32官方标准库
点击STM32社区网站https://www.stmcu.org.cn/得到如图:

在这里插入图片描述

点击资料下载,接着如图:

在这里插入图片描述


点击下载STM32标准库,如图:

在这里插入图片描述

下载解压之后得到如下文件:

在这里插入图片描述
三、准备建工程所需要的文件夹
新建project文件夹,并在里面新建三个文件夹,CMSIS(存放内核函数及启动引导文件),FWLIB(存放库函数)USER(存放用户自己的函数),如图:

在这里插入图片描述

打开刚才下载的官方标准库,

在这里插入图片描述

 将Libraries\CMSIS\CM3\CoreSupport中的文件和Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的文件全部复制到刚才新建的CMSIS中,图解操作如下:

 

 


得到如图:

在这里插入图片描述

将官方库中Libraries\STM32F10x_StdPeriph_Driver中的 inc 和src文件夹 复制到刚才新建的FWLIB文件夹中。如图:

在这里插入图片描述

得到

在这里插入图片描述

将官方库中的Project\STM32F10x_StdPeriph_Template中的这几个文件复制到新建的USER中,如图:

在这里插入图片描述

得到

在这里插入图片描述


四、打开Keil新建工程
打开keil,新建工程STM32(原来有工程需要关闭)到保存在刚刚新建的project文件夹里面。

在这里插入图片描述

在这里插入图片描述


第一步骤可以更改成你想要工程名称

在这里插入图片描述

保存后会得到这个:

在这里插入图片描述

现在选择芯片步骤如下(我用的是STM32F103ZE系列):

在这里插入图片描述

在这里插入图片描述


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

在这里插入图片描述

在Groups中依次添加CMSIS、USER、FWLIB、STARTUP

在这里插入图片描述
把刚刚复制到文件夹下的文件依次对应添加到CMSIS、USER、FWLIB、STARTUP中。添加过程如下:

在这里插入图片描述

CMSIS的添加

在这里插入图片描述

USER的添加

在这里插入图片描述

FWLIB中只需要添加src中的全部.c文件即可

在这里插入图片描述

STARTUP要选择CMSIS\startup\arm中的startup_stm32f10x_hd.s、startup_stm32f10x_ld.s、startup_stm32f10x_md.s三个。

在这里插入图片描述

添加完毕点击OK。

然后点击魔法棒,进入C/C++设置界面,在define一栏输入 USE_STDPERIPH_DRIVER ,并在includepath栏加入头文件路径 .\CMSIS;.\FWLIB\inc;.\USER

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

分别右击这两个文件startup_stm32f10x_ld.s、startup_stm32f10x_md.s 依次进行以下操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最后得到这样

在这里插入图片描述

编译无错

在这里插入图片描述

保存一下,空白工程建立完毕!之后就可以根据手册进行开发了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手把手教你用Keil5新建STM32工程 的相关文章

  • 快速幂计算x的n次幂,递归版本、迭代版本、python实现

    递归 分治思想 二分 def myPow self x float n int gt float def quick pow x n if n 1 return x half quick pow x n 2 y half half if n
  • Android文件存储目录结构

    应用程序在运行的过程中如果需要向手机上保存数据 一般是把数据保存在SDcard中的 大部分应用是直接在SDCard的根目录下创建一个文件夹 然后把数据保存在该文件夹中 这样当该应用被卸载后 这些数据还保留在SDCard中 留下了垃圾数据 并

随机推荐

  • 华为OD机试 Python【最小传输时延Ⅱ】

    题目 题目描述 想象一个M N的大网格 每个格子上都有一个数字 这个数字就是这个格子转发数据的延迟时间 每个格子可以向其周围的8个方向 上 下 左 右以及四个角落 发送数据 现在 有技巧 如果连续两个格子的延迟时间相同 那么我们只算一个时间
  • SQL SERVER专题实验3 简单查询

    第1关 基本知识 第1题 A 第2题 ABC 第3题 AB 第4题 AB 第5题 ABCD 第6题 ABCD 第7题 AC 第2关 按指定列 全部列和计算表达式的查询 本关任务 用 SELECT 语句检索数据表中指定字段的数据 按要求输出目
  • 公交路线推荐

    项目从0 1出 请写出公交车路线推荐策略 逻辑框架 心法 1 产品目标 用户以最低的代价 成本完成想要做的事情 2 需求理解 给出区分不同用户群 场景的规则 定义衡量标准 将其数字化 通常是准确率和召回率 3 提出解决方案 给出针对每个用户
  • 逻辑运算符

    逻辑运算符 逻辑运算符概述 短路逻辑运算符 之间的区别 逻辑运算符概述 可以把多个条件的布尔结果放在一起运算 最终返回一个布尔结果 double length 11 5 double width 6 95 需求 长度大于等于10cm 宽度大
  • Java POI excel单元格背景色(填充)、字体颜色(对齐)、边框(颜色)、行高、列宽设置

    文章目录 1 Excel Cell单元格背景色 颜色名称对照关系 2 Excel Cell单元格背景填充样式 颜色填充对照关系 3 Excel Cell字体样式设置 对照图 4 Excel 行高 列宽设置 5 Excel单元格边框设置 边框
  • web前端复习

    web前端复习 1 文档声明与字符编码 2 HTML常用标签 1 语义 2 常用标签 水平线hr 3 特殊符号 4 div和span标签 5 列表 1 有序列表 ol li 2 无序列表 ui li 3 自定义列表 dl dt 6 图片标签
  • Gap业绩逆转,宝尊电商是如何当好“全球品牌数字商业伙伴”的?

    电商永不眠 技术 消费趋势 供应链 任何一个因素都可以引起商业格局的巨变 一些看似普通的事件落到一个品牌身上 往往会带来改变命运的巨大变化 就像今年2月 宝尊官宣已完成对Gap大中华区的收购 到现在 Gap便已在宝尊的塑造下开启焕新 北京时
  • Linux中的PATH环境变量

    关于执行文件路径的变量 PATH 我们在前面说过 Linux有两大原则 一切皆文件和沉默是金 那么这些命令是否也有对应的文件呢 事实上确实是这样 我们可以通过which 命令来验证 这个命令是用来查找某个命令的绝对路径 root local
  • 数据结构基础训练

    数据结构基础训练 数组和字符串 数组的操作 数组操作四种 读取元素 从索引从0开始 内存连续 查找元素 考虑最坏的情况 即所有元素不满足查找条件 插入元素 分顺序存储式插入和链式存储插入 链式较方便 删除元素 删除后的索引需要重新按新的元素
  • 学生管理系统(java)

    学生管理系统实现步骤 案例需求 针对目前我们的所学内容 完成一个综合案例 学生管理系统 该系统主要功能如下 添加学生 通过键盘录入学生信息 添加到集合中 删除学生 通过键盘录入要删除学生的学号 将该学生对象从集合中删除 修改学生 通过键盘录
  • 如何匹配基本正则表达式模式?条码拆分器BardecodeFiler v2.6.1.1全新发布!

    BardecodeFiler是一个随时可用的应用程序 可根据条形码值拆分和重命名TIF JPEG和PDF文档 应用程序从输入文件夹中读取文档 并在输出文件夹中创建新文档 原始文档不会被修改或删除 BardecodeFiler可以使用 reg
  • 一致性hash算法 - consistent hashing

    一致性hash算法 consistent hashing consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出 目前在 cache 系统中应用
  • Web自动化测试工具:Selenium3+Java详解

    今天我们一起来聊一聊Selenium的常用API使用 编程语言选用Java实现 如果使用Python等语言也大同小异 此外 本文在行文时默认同学们都已经具备一定的前端Html CSS等基础 由于本主题涉及的内容较多 加之笔者也是利用业余时间
  • 软件工程能力漫谈:比编码更重要的,是项目管理能力

    章老师博士毕业后在清华待了 12 年 主要是做网络方面的研究 到 2006 年的时候离开清华 进入到工业界 首先做了六年的用户产品研发 之后在 2012 年加入百度 一直做网络基础架构相关的开发工作 主要是对内服务 在运维部和系统部 做 B
  • python 图片识别_python识别图片文字

    滑稽研究所 python识别图片文字 哈喽 大家好呀 我是滑稽君 大家在写论文时可能经常碰到无法复制文字的文章 明明找到了需要的内容却无法直接复制使用 这让我们十分苦恼 那么本期滑稽君就告诉大家如何使用python识别图片中的文字 滑稽君整
  • 几款优秀的Windows密码抓取工具

    前言 本篇介绍几款优秀的Windows上的密码抓取工具 每个工具都有自己的特点非常实用 欢迎补充 0x01 Mimikatz 个人点评 这款工具非常强大 公认的Windows密码神器 1 简介 Mimikat是一个法国人写的轻量级调试器 M
  • Linux kernel内存管理之OOM相关参数

    一 OOM概念 OOM是Out Of Memory 内存溢出 的缩写 虽然linux kernel的内存管理有很多机制 从cache中回收 swap out等 可以满足用户空间的各种虚拟内存需求 但是 当你的系统配置不合理 让一匹小马拉大车
  • 浅析React Hooks原理

    React Hooks 简介 React Hooks 是 React 16 8 以及之后版本的产物 React Hooks 就是一堆钩子函数 不同的钩子函数提供了不同的功能 React 通过这些钩子函数对函数型组件进行增强 Hooks 允许
  • 7.2面试

    1 tcp ip四层模型是什么 应用层 运输层 网际层 物理层 网络接口层 网际层 传输层 应用层 tcp ip四层协议模型是对osi七层网络协议模型的简化 其中在tcp ip参考模型中去掉了osi中的会话层和表示层 合并为应用层 把ois
  • 手把手教你用Keil5新建STM32工程

    一 去Keil官网下载STM32芯片支持包 网址http www keil com dd2 pack 下载之后安装 这里的芯片支持包对应标准库的开发 二 去STM32社区下载STM32官方标准库 点击STM32社区网站https www s