【基础篇】1.6 开发环境搭建

写在前面

学习STM32的开发,我们需要选选择合适型号,STM32开发板。通过前面的博客,我们知道它通常包含了微控制器、外设接口和必要的电路组件。

在搭建STM32开发环境时,开发者需要首先安装选定的IDE(如Keil MDK),然后安装相关的器件支持包,以确保对特定STM32型号的支持。此外,根据开发需求,可能还需要安装串口驱动、配置工具和其他辅助软件。

下面我们一一了解下该专栏所用到的STM32和常见的开发工具。

一,STM32开发板

STM32开发板是STMicroelectronics(意法半导体)公司生产的一系列基于ARM Cortex-M处理器架构的嵌入式微控制器。具有低功耗和高性能特性。处理器速度范围广泛,从几十MHz到几百MHz不等,可满足不同性能级别的需求。这种强大的处理能力使得STM32开发板能够轻松应对复杂的算法和实时任务,如数字信号处理、运动控制和图形处理等。

TM32开发板还配备了丰富的外设功能,如GPIO、USART、I2C、SPI等通用外设,以及ADC(模数转换器)、DAC(数模转换器)、定时器和计数器、PWM(脉宽调制)控制器、USB接口、以太网控制器等专用外设。

STM32开发板具有广泛的型号选择,包括STM32F0、STM32F1、STM32F2、STM32F3、STM32F4、STM32F7、STM32L0、STM32L1、STM32L4等系列。

这里我们基于正点原子的STM32F407进行学习。

二,集成开发环境 - MDK

MDK(Microcontroller Development Kit)是Keil公司开发的一款基于ARM的微控制器的软件开发解决方案。它提供了创建、构建和调试嵌入式应用所需的所有组件,包括Windows平台的IDE(集成开发环境)、编辑器、高性能的编译器、调试器以及软件包管理器等。此外,MDK还包含了CMSIS(ARM Cortex Microcontroller Software Interface Standard)标准接口库和丰富的中间件,使得嵌入式软件开发项目更加高效快捷。

MDK支持多种ARM微控制器,包括Cortex-M、Cortex-R4、ARM7和ARM9等处理器设备,满足了广泛的嵌入式应用需求。

二,仿真器 - DAP

DAP(Debug Access Port)是ARM公司开发的一种开源仿真器,它可以通过USB通信接口实现免驱连接,用于向目标设备烧写程序或进行调试。DAP支持ARM Cortex M0/M1/M3/M4/M7全系列芯片,并兼容如MDK(Microcontroller Development Kit)、IAR等多种编译器和开发环境。在使用DAP进行程序烧写时,用户需要准备好程序文件,并使用相应的上位机软件通过USB线将程序文件写入到目标设备的ROM或FLASH存储器中。

三,串口工具 - XCOM

XCOM工具是正点原子开发的基于正点原子模块和微型单片机技术开发的上位机综合开发工具。

XCOM工具支持多种串口参数配置,如波特率、数据位、停止位和校验位等。这意味着用户可以根据不同的硬件设备需求进行灵活的串口设置,以满足各种调试场景。

它也同时具备实时显示、数据采集和控制等功能。用户可以通过该软件发送和接收数据,并实时查看接收到的数据内容。同时,XCOM还支持数据的保存和导出,方便用户进行后续的数据分析和处理。

此外,XCOM工具还提供了协议传输的功能,支持常见的协议如Modbus等。这使得用户能够利用XCOM进行更高级的串口通信调试,满足复杂的调试需求。

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

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

相关文章

Unity类银河恶魔城学习记录12-2 p124 Character Stats UI源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_Statslot.cs using System.Collections; using System.Collections.Gen…

无极低码:免费版部署操作指南

无极低码 :https://wheart.cn 无极低码:免费试用版部署过程参照: 无极低码部署版操作指南 https://wheart.cn/so/home?m=index&id=ad614930-d936-11ee-8489-525400be6368 ” 。 下载完解压成后进行部署

C语言 分支控制——条件语句

目录 选择结构 单分支选择结构(Single Selsction) 双分支选择结构(Double Selection) 多分支选择结构(Multiple Selsction) 条件运算符和条件表达式 复合语句(Compound Statement&#xff…

C++重载和模板

重载与模板 函数模板可以被另一个模板或一个普通非模板函数重载。 与往常一样,名字相同的函数必须具有不同数量或类型的参数。 如果涉及函数模板,则函数匹配规则会在以下几方面受到影响: 对于一个调用,其候选函数包括所有模板…

双机 Cartogtapher 建图文件配置

双机cartogtapher建图 最近在做硕士毕设的最后一个实验,其中涉及到多机建图,经过调研最终采用cartographer建图算法,其中配置多机建图的文件有些麻烦,特此博客以记录 非常感谢我的同门 ”叶少“ 山上的稻草人-CSDN博客的帮助&am…

计算机网络:数据链路层 - 点对点协议PPP

计算机网络:数据链路层 - 点对点协议PPP PPP协议的帧格式透明传输字节填充法零比特填充法 差错检测循环冗余校验 对于点对点链路,PPP协议是目前使用最广泛的数据链路层协议。比如说,当用户想要接入互联网,就需要通过因特网服务提供…

高分卫星助力台湾省花莲县地震应急救援

4月3日7时58分,在台湾省花莲县海域(北纬23.81度,东经121.74度)发生7.3级地震,震源深度12公里。接中国地震局地震预测研究所应急需求,国家航天局对地观测与数据中心(以下简称“中心”&#xff09…

Kubernetes探索-Pod面试

本篇及此系列文章只针对面试相关问题做了简单总结,后续会出比较详细的系列文章.... 1. 创建Pod的底层逻辑 1)创建单个Pod时:组件间的交互流程和描述如下图,该过程中controller-manager组件不工作。 流程描述 ① 客户端提交创建请…

揭开AI编程语言Mojo比Pyhon快6.8万倍的5个秘密!

最近(2024年3月29日),号称比Python快6.8万倍的Mojo编程语言开源啦!6.8万倍?你敢相信这个数字是真的吗?不过,就连Mojo官网都把这个结果贴了出来(见下图),这就很…

怎样在Linux搭建NTP服务器

搭建 NTP(Network Time Protocol)服务器可以帮助你在局域网内提供时间同步服务,让网络中的设备都使用统一的时间。以下是在 Linux 系统上搭建 NTP 服务器的基本步骤: 安装 NTP 服务器软件: 在终端中执行以下命令安装 N…

Webpack部署本地服务器

Webpack部署本地服务器 目录 Webpack部署本地服务器目的认识模块热替换(HMR)什么是 HMRHMR 通过如下几种方式, 来提高开发的速度如何使用 HMRhost 配置 目的 完成自动编译 常用方式: webpack-dev-server webpack-dev-server 是一个用于开发环境的 Web 服…

Class类

1. Class类的理解 针对于编写好的 .java 源文件进行编译(使用 javac.exe),会生成一个或多个 .class 字节码文件。接着,我们使用 java.exe 命令对指定的 .class 文件进行解释运行。这个解释运行的过程中,我们需要将 .class 字节码文件加载到内…

本地储存、jQuery

文章目录 1. 本地储存1. window.sessionStorage2. window.localStorage案例:记住用户名 2. jQuery入门jQuery 的概念jQuery 的入口函数jQuery 的顶级对象 $jQuery 对象和 DOM 对象 3. jQuery 常用API1. jQuery 选择器1.基础选择器2.层级选择器隐式迭代(重…

C++(set和map详解,包含常用函数的分析)

set set是关联性容器 set的底层是在极端情况下都不会退化成单只的红黑树,也就是平衡树,本质是二叉搜索树. set的性质:set的key是不允许被修改的 使用set需要包含头文件 set<int> s;s.insert(1);s.insert(1);s.insert(1);s.insert(1);s.insert(2);s.insert(56);s.inser…

Vue.js---------Vue基础

能够说出Vue的概念和作用能够使用vue/cli脚手架工程化开发能够熟练Vue指令 一.vue基本概念 1.学习vue Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 渐进…

2024 ccfcsp认证打卡 2022 09 01 如此编码

2022 09 01 如此编码 题解1题解2 题解1 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt(); // 天数int m sc.nextInt(); // 科目数int[] b new int[n 1]; // 存放结果的数…

笔记: JavaSE day15 笔记

第十五天课堂笔记 数组 可变长参数★★★ 方法 : 返回值类型 方法名(参数类型 参数名 , 参数类型 … 可变长参数名){}方法体 : 变长参数 相当于一个数组一个数组最多只能有一个可变长参数, 并放到列表的最后parameter : 方法参数 数组相关算法★★ 冒泡排序 由小到大: 从前…

Paddle实现人脸对比

人脸对比 人脸对比&#xff0c;顾名思义&#xff0c;就是对比两个人脸的相似度。本文将用Paddle实现这一功能。 PS&#xff1a;作者肝了整整3天才稍微搞明白实现方法 数据集准备 这里使用百度AI Studio的开源数据集&#xff1a; 人脸数据_数据集-飞桨AI Studio星河社区 (b…

【React】vite + react 项目,配置项目路径别名 @

vite react 项目&#xff0c;配置项目路径别名 1 安装 types/node2 在 vite.config.ts 中添加配置&#xff1a;3 配置路径别名的提示 使用 vite 开发 react 项目时&#xff0c;可以通过一下步骤配置路径别名&#xff1a; 1 安装 types/node npm i -D types/node2 在 vite.con…

Lumos学习王佩丰Excel第一讲:认识Excel

最近发现自己在操作excel的一些特殊功能时会有些不顺手&#xff0c;所以索性找了一个比较全的教程&#xff08;王佩丰excel24讲&#xff09;拿来学习&#xff0c;刚好形成文档笔记&#xff0c;分享给有需要但没有时间看视频的朋友们。整体笔记以王老师授课的知识点去记录&#…