keil安装及运行第一个stm32程序

前言

记录如何安装keil软件及运行第一个stm32程序


目录

一、keil开发环境搭建

0.keil是什么

1.keil下载

2.keil软件安装

3.安装芯片支持包

4.破解激活

二、keil工程结构

1.创建目录结构

2.新建工程

3.配置项目

(1).例程准备

(2).工程目录管理

(3).选项配置

4.例程运行

三、烧录程序

1.USB to TTL

(1).TTL连接单片机

(2).安装串口驱动

(3).烧录

2.ST - Link

(1).安装ST-Link的驱动

(2).在设备管理器查看驱动是否按照成功(注:电脑、下载器、单片机已经连接)

(3).进入之前的选项配置

(4).使用ST-Link进行Debug

(5).点击Settings,将Port改为SW,SWDIO中出现信息即为成功

(6).设置Flah Download

(7).烧录


一、keil开发环境搭建

0.keil是什么

Keil 5是一款集成开发环境(IDE),由Keil公司专为嵌入式系统开发者所设计。它以其强大的功能和丰富的特性,在嵌入式系统开发领域占据了重要的地位。

Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行 如果你使用C语言编程,那么Keil几乎就是你的不二之选。

1.keil下载

官网:传送门

百度下载链接:keil

更多部件下载:博客

2.keil软件安装

解压打开安装程序,之后按照引导next

注:安装路径不能有中文

账号信息随便填写即可

最后点击Finish完成安装

MDK可能会自动弹出Pack Installer的界面,关闭即可

3.安装芯片支持包

运行芯片包安装程序即可:

注:如果安装失败,可以直接将后缀改为.zip,将文件解压出来复制到keil安装路径的ARM/Packs/keil下新建的STM32F1xx_DFP/2.2.0文件下。具体请自行百度

支持包可在官网下载http://www.keil.com/dd2/pack

4.注册使用

1.关闭杀毒软件,否则注册机会被自动删除。

2.以管理员权限打开keil!!!

3.点解File ------>Liscense Management 调出注册管理界面,复制CID号

4.打开 keygen.exe 进行对MDK5 的破解,需要用到前一步的CID号 ,点击Generate 获得破解码

注:选择ARM和professional

5.把破解码粘贴到下图File ------>Liscense Management中,进行破解

二、keil工程结构

1.创建目录结构

  1. 在建立工程之前,在电脑的某个目录下面建立一个文件夹,后面所建立的工程都可以放在这个文件夹下面。
  2. 然后为了方便我们存放工程需要的一些其他文件,新建下面几个子文件夹:CODE ,GECLIB,OBJ,USER,APP。至于这些文件夹名字,实际上是可以任取的,这样取名只是为了方便识别。

2.新建工程

打开 Keil,点击 Keil 的菜单:Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹之下的USER子目录,工程的名字可以根据自己的要求设置。USER文件夹就用来存放工程的文件

选择对应的单片机芯片

3.配置项目

(1).例程准备

  • 准备stmf1系列的固件库:传送门
  • f1系列固件库如下:

  • 进入Libraries\STM32F10x_StdPeriph_Driver目录,将 src,inc 文件夹 copy 到我们刚才建立的 GECLIB 文件夹

注:src 存放的是固件库的.c 文件,inc 存放的是对应的.h 文件

  • 进入Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录,将文件 startup_stm32f10x_md.s(启动文件)复制到 CODE 目录。
  • 进入Libraries\CMSIS\CM3\CoreSupport目录,将 core_cm3.h 、 core_cm3.c同样复制到 CODE目录下面。此时CODE的文件应有

接下来我们要复制工程模板需要的一些其他头文件和源文件到我们工程

  • 进入Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录,将stm32f10x.h和 system_stm32f10x.h复制到 USER 目录
  • 进入Project\STM32F10x_StdPeriph_Template目 录,将stm32f10x_conf.h 、stm32f10x_it.c 、stm32f10x_it.h 、system_stm32f10x.c 复制到 USER 目录

  • 最后进入目录:Project\STM32F10x_StdPeriph_Template,将 目 录 下 面 的 main.c 复制到 APP目录

(2).工程目录管理

  • 打开工程,管理文件项目

  • Project Targets一栏,Target名字修改为项目名,然后在Groups一栏建立四个 Groups:USER,CODE,GECLIB,APP(与工程目录下相对应即可)。然后点击 OK,可以看到我们的 Target名字以及 Groups 情况如下图:

  • 接上一步,添加需要的文件选择 GECLIB,然后点击右边的 Add Files,定位到我们刚才建立的目录添加src中的全部.c文件
  • 按同样的办法,添加CODE、USER和APP的文件。CODE 下面需要添加的文件为 startup_stm32f10x_md.s ( 注意,默认添加的时候文件类型为.c, 也就是添加 startup_stm32f40_41xxx.s 启动文件的时候,你需要选择文件类型为All file才能看得到这个文件)和core_cm3.c。
  • 同上,USER 目录下面需要添加: stm32f10x_it.c,system_stm32f10x.c。APP目录需要添加main.c
  • 注:点击Add后窗口不会自动关闭,请不要重复添加

(3).选项配置

  • 频率按照单片机设置

  • 勾选生成HEX 文件,同时更改Objects路径到自定义的子目录OBJ

  • 在define中输入:STM32F10X_MD,USE_STDPERIPH_DRIVER(注意:英文的逗号)

  • 在include Paths中添加头文件路径,如下:

4.例程运行

点击第三个图标,编译工程,没有错误即可。

三、烧录程序

这里stm32f103c8t6核心板为例

1.USB to TTL

(1).TTL连接单片机

需要:4根杜邦线,一个usb to ttl

按照 RXD-PA9、TXD-PA10、GND-GND、3V3-3V3的方式连接ttl和单片机。跳帽错位连接

(2).安装串口驱动

下载地址:CH340

安装完成后将ttl与电脑连接,计算机设备管理器的端口中出现该驱动即为成功

(3).烧录

选择CH340的串口,使用FlyMcu软件烧录

2.ST - Link

使用ST-Link下载器烧录软件较为简单

连接硬件:依照引脚标注对应连接即可。

(1).安装ST-Link的驱动

链接:ST-Link官网下载

链接:百度网盘下载

(2).在设备管理器查看驱动是否按照成功(注:电脑、下载器、单片机已经连接)

(3).进入之前的选项配置

(4).使用ST-Link进行Debug

(5).点击Settings,将Port改为SW,SWDIO中出现信息即为成功

(6).设置Flah Download

此处为配置烧录选项,如烧录后自动运行等

(7).烧录

注:如果提示Old ST-LINK firmware detected.do you want to upgrade it?请更新ST - Link驱动。更新后在选项配置中更新ST - Link版本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/873696.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

渗透测试学习资源

burp学院 https://portswigger.net/burp/documentation/desktop/getting-started https://portswigger.net/web-security/ hacker101学院 https://www.hacker101.com/ https://github.com/bugcrowd/bugcrowd_university 如何白嫖自学网络安全技术,最稳最推荐的网…

CGAL 概念模型及Traits 概述

CGAL 概念模型及Traits 本节释了概念Concepts 、模型Models以及Traits类的含义。 CGAL Concepts and Models 概念Concepts是对类型的一组要求,即它具有特定的嵌套类型、特定的成员函数或具有特定的以该类型为参数的自由函数。概念的模型 Models是一个满足概念需求…

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨…

IEEE投稿模板翻译

>将这一行替换为您的稿件id号(双击此处编辑)< IEEE 期刊和会议论文的撰写准备&#xff08;2022&#xff09; 第一作者 A. 作者&#xff0c;IEEE成员&#xff0c;第二作者 B. 作者&#xff0c;第三作者 C. 作者 Jr.&#xff0c;IEEE成员 摘要—本文档为IEEE会刊、期刊和…

推荐一个Python流式JSON处理模块:streaming-json-py

每天&#xff0c;我们的设备、应用程序和服务都在生成大量的数据流&#xff0c;这些数据往往大多是以JSON格式存在的。 如何高效地解析和处理这些JSON数据流是一大挑战。今天&#xff0c;我要为大家介绍一个能极大简化这一过程的利器&#xff1a;streaming-json-py streaming…

负载均衡调度器--LVS

文章目录 集群和分布式集群分布式 LVS介绍LVS特点LVS工作原理LVS集群架构 LVS集群中的术语CIPVIPRSDIPRIP LVS集群的工作模式NAT模式DR模式DR的工作原理DR的特点:DR的网络配置1.配置负载均衡器2.配置后端服务器lo接口的作用 3.测试连接&#xff1a; DR的典型应用场景 TUN模式 L…

新电脑Win11系统想要降级为Win10怎么操作?

前言 现在的电脑大部分都是Windows 11系统&#xff0c;组装机还好一些&#xff0c;如果想要使用Windows 10&#xff0c;只需要在安装系统的时候选择Windows 10镜像即可。 但是对于新笔记本、厂商的成品机、一体机来说&#xff0c;只要是全新的电脑&#xff0c;基本上都是Wind…

评论的组件封装

主评论的人在数组第一层级&#xff0c;回复的评论都在children里面 【{ name:"张三" idGenerator: 475403892531269 info_Conmment":"今天天气晴朗&#x1f600;" children:[ { mainIdGenerator:475388950118469 name:"张三" name1&#x…

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家&#xff0c;并整理七大洲和这些国家的KML矢量数据分析分享给大家&#xff0c;如果你需要这些数据&#xff0c;请在文末查看领取方式。 世界上横跨两大洲的国家 …

2024全开源彩虹晴天多功能系统源码/知识付费系统/虚拟商城系统 完美可用带教程

源码简介&#xff1a; 2024最新彩虹晴天多功能系统源码&#xff0c;知识付费虚拟商城&#xff0c;完美可用&#xff0c;无需授权、国内外服务器皆可搭建、无论是不是备案域名也都可以部署、可以商业运营。 这个源码实用&#xff0c;它不仅完美可用&#xff0c;而且完全免F&am…

CSS之我不会

非常推荐html-css学习视频&#xff1a;尚硅谷html-css 一、选择器 作用&#xff1a;选择页面上的某一个后者某一类元素 基本选择器 1.标签选择器 格式&#xff1a;标签{} <h1>666</h1><style>h1{css语法} </style>2.类选择器 格式&#xff1a;.类…

2024 乐鑫全球开发者大会精选 QA

2024 乐鑫科技全球开发者大会精彩落幕&#xff01;我们在这三天的大会中&#xff0c;收获了来自开发者们的热烈互动和丰富提问。在每晚的“研发主管一对一问答”环节中&#xff0c;来自乐鑫的技术专家们对这些技术问题进行了深入的剖析和详尽的解答。为了让错过这场思想碰撞的观…

百度大模型构建智能问答系统技术实践

背景 随着大模型的飞速发展&#xff0c; AI 技术开始在更多场景中普及。在数据库运维领域&#xff0c;我们的目标是将专家系统和 AI 原生技术相融合&#xff0c;帮助数据库运维工程师高效获取数据库知识&#xff0c;并做出快速准确的运维决策。 传统的运维知识库系统主要采用…

FPGA低功耗设计

FPGA低功耗设计 文章目录 FPGA低功耗设计前言一、功耗类型1.1 动态功耗1.2 静态功耗1.3 浪涌功耗 二、系统级低功耗设计2.1 **多电压技术&#xff1a;**即工作频率、电压和功耗的关系2.2 系统时钟分配&#xff1a;2.3 软硬件划分2.4 p 或单元库选择 三、RTL级别低功耗设计3.1 并…

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始&#xff0c;按照书籍的划分&#xff0c;第10章开始就进入保护模式&#xff08;Protected Mode&#xff09;部分了&#xff0c;感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断&#xff08;Interrupt&#xff09;的设计&#…

jantic/DeOldify部署(图片上色)附带Dockerfile和镜像

克隆代码到DeOldify git clone https://github.com/jantic/DeOldify.git DeOldifyDeOldify源码 安装依赖 这里会安装python以及创建deoldify环境 cd DeOldify conda env create -f environment.yml(base) rootDESKTOP-1FOD6A8:~/DeOldify# conda env create -f environment.ym…

MySQL递归查询

一、为什么要使用MySQL递归查询 在很多场景下有树形表需要去遍历&#xff0c;若通过编程语言去递归遍历树将多次进行与数据库的交互操作&#xff0c;相当于100个葡萄去楼下超市买100次&#xff0c;在路上多走了99次浪费了大量时间&#xff0c;肯定不如一次买100葡萄省事。所以与…

景联文科技:专业数据标注公司,推动AI技术革新

数据标注作为AI技术发展的重要支撑&#xff0c;对于训练高质量的机器学习模型以及推动应用领域的创新具有不可替代的作用。 景联文科技作为专业的数据标注公司&#xff0c;致力于提供专业的数据标注服务&#xff0c;帮助客户解决AI链条中的数据处理难题&#xff0c;共同推动人工…

2024霸王餐小程序cps,h5公众号小程序开源版系统搭建开发,外卖霸王餐小程序系统源码

目录 前言&#xff1a; 一、霸王餐小程序的操作是怎么样的&#xff1f; 二、霸王餐系统后台 三、怎么搭建部署? 前言&#xff1a; 霸王餐项目基于美团和饿了么平台开发的小程序。 一、霸王餐小程序的操作是怎么样的&#xff1f; 1、进入小程序后选择自己要下单的店铺&am…

RTMP播放器延迟最低可以做到多少?

技术背景 RTMP播放器的延迟可以受到多种因素的影响&#xff0c;包括网络状况、推流设置、播放器配置以及CDN分发等。因此&#xff0c;RTMP播放器的延迟并不是一个固定的数值&#xff0c;而是可以在一定范围内变化的。 正常情况下&#xff0c;网上大多看到的&#xff0c;针对R…