STM32 | 零基础 STM32 第一天

零基础 STM32 第一天

一、认知STM32

1、STM32概念

STM32:意法半导体基于ARM公司的Cortex-M内核开发的32位的高性能、低功耗单片机。

ST:意法半导体

M:基于ARM公司的Cortex-M内核的高性能、低功耗单片机

32:32位单片机

2、STM32开发的产品

STM32开发的产品:无人机、扫地机器人、3D打印机、平衡机、智能手环等

3、学习STM32对应的招聘职位

招聘职位:单片机开发工程师、单片机软件工程师、STM32开发工程师、嵌入式开发工程师、嵌入式软件工程师。

二、ARM与STM32

嵌入式系统

 以应用为中心,以计算机技术为基础,软硬件可裁减,以适应应用系统对功能、可靠性、成本、体积和功耗等有严格要求的专用计算机系统。(笔试)

嵌入式系统的特性

硬件特性

  • 体积小、集成效率高。

  • 面向特定的应用。

  • 功耗低、电磁兼容性好。

软件特性

  • 嵌入式软件的开发与硬件紧密相关。

  • 软件代码要求高效率和高可靠性。

  • 软件一般固化在Flash或Rom中。

  • 软件系统具有高实时性。

  • 一般采用C语言开发。

1、ARM与STM32

ARM--Advanced RISC Machine

ARM是英国一家电子公司的名字

ARM敢为天下先,首创了chipless的生产模式,即该公司既不生产芯片,也不设计芯片,而是设计出高效的IP(知识产权)内核,授权给半导体公司使用。

ARM提供一系列内核、体系扩展、微处理器和系统芯片方案

ARM是一种通用的32位RISC处理器

ARM是一种功耗很低的高性能处理器

ARM芯片四大内核:Cortex-X1、Cortex-A、Cortex-R、Cortex-M

ARM Cortex™-A 系列为应用型处理器

ARM在Cortex-A系列处理器大体上可以排序为:

Cortex-A78处理器、

Cortex-A77处理器、

Cortex-A76处理器、

Cortex-A57处理器、

Cortex-A53处理器、

Cortex-A15处理器、

Cortex-A9处理器、

Cortex-A8处理器、

Cortex-A7处理器、

Cortex-A5处理器、

ARM11处理器、

ARM9处理器、

ARM7处理器

产品:手机、平板、电视、智能音箱等

ARM Cortex-R为实时处理器

要求可靠性、高可用性、容错功能、可维护性和实时响应的嵌入式系统提供高性能计算解决方案。

高性能:与高时钟频率相结合的快速处理能力

实时:处理能力在所有场合都符合硬实时限制

安全:具有高容错能力的可靠且可信的系统

经济:可实现最佳性能、功耗和面积的功能。

ARM Cortex™-M处理器系列

ARM Cortex™-M处理器系列是一系列可向上兼容的高能效、易于使用的处理器,帮助开发人员满足将来的嵌入式应用的需要。用更低的成本提供更多功能、不断增加连接、改善代码重用和提高能效。

  • 功耗更低

  • 代码更小

  • 使用更方便

  • 更具产品竞争力

Cortex-M 系列针对成本和功耗敏感的MCU和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化。

Cortex-M系列细分为M0、M3、M4、M7和超低功耗的M0+

产品:无人机、扫地机器人、3D打印机、平衡机、智能手环等

三、开发环境安装与工程搭建

1、软、硬件准备

硬件准备:STM32F407ZET6开发板、jlink下载器、电脑。

软件准备

(1)keil v5软件,下载网址:https://www.keil.com/download/product/(软件路径:MDK5\mdk528a.exe)

(2)STM32开发的库函数,下载网址:https://www.keil.com/dd2/Pack/(路径:STM32F4器件支持包\Keil.STM32F4xx_DFP.1.0.8.pack)

(3)STM32F4官方资料:https://www.stmcu.org.cn/

STM32芯片型号识别

2、安装软件及库支持包

一切软件均用管理员权限打开。关闭杀毒软件,电脑防火墙。

(1)安装keil v5软件,参考博客(一位认为C语言是最好的编程语言的工程师):https://blog.csdn.net/wwwqqq2014/article/details/115412594

(2)双击安装STM32库支持包:Keil.STM32F4xx_DFP.1.0.8.pack

(3)参考文档:STM32工程建立步骤.docx 创建STM32工程(后面给出)

(4)参考文档:J-Link配置.docx,完成下载器配置(后面给出)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文笔记】Improving Language Understanding by Generative Pre-Training

Improving Language Understanding by Generative Pre-Training 文章目录 Improving Language Understanding by Generative Pre-TrainingAbstract1 Introduction2 Related WorkSemi-supervised learning for NLPUnsupervised pre-trainingAuxiliary training objectives 3 Fra…

Java 网络面试题解析

1. Http 协议的状态码有哪些?含义是什么?【重点】 200:OK,客户端请求成功。 301:Moved Permanently(永久移除),请求的URL已移走。Response中应该包含一个Location URL,…

steam++加速问题:出现显示443端口被 vmware-hostd(9860)占用的错误。

目录 前言: 正文: 前言: 使用Steam对GitHub进行加速处理时,建议使用2.8.6版本。 下载地址如下:Release 2.8.6 BeyondDimension/SteamTools GitHub 下载时注意自己的系统位数 正文: 使用GitHub时会使…

NOC2023软件创意编程(学而思赛道)python初中组初赛真题

软件创意编程 一、参赛范围 1.参赛组别:小学低年级组(1-3 年级)、小学高年级组(4-6 年级)、初中组。 2.参赛人数:1 人。 3.指导教师:1 人(可空缺)。 4.每人限参加 1 个赛项。 组别确定:以地方教育行政主管部门(教委、教育厅、教育局) 认定的选手所属学段为准。 二、…

Mybatis-Plus+SpringBoot多数据源注解方式@DS

前言 最近接到一个新需求需要处理多数据源的问题 &#xff0c;今天就来和大家一起学习一下。 一、使用步骤 1.引入库 代码如下&#xff08;示例&#xff09;&#xff1a; <!--配置多数据源--><dependency><groupId>com.baomidou</groupId><artif…

蓝桥杯Java B组历年真题(2013年-2021年)

一、2013年真题 1、世纪末的星期 使用日期类判断就行&#xff0c;这里使用LocalDate&#xff0c;也可以使用Calendar类 答案 2099 使用LocalDate import java.time.LocalDate; import java.time.format.DateTimeFormatter; // 1:无需package // 2: 类名必须Main, 不可修改p…

常见问题和解决方案

OOM overview 发现监控告警 定位日志java.lang.OutOfMemoryError 避免参数配置代码规范 example jvm性能调优实战 -55RPC调用引发的OOM故障-阿里云开发者社区 (aliyun.com) 发现监控告警 定位日志java.lang.OutOfMemoryErrorA rpc BMAT打开堆快照文件分析histogram右击看引…

CentOS7 Hive2.3.8安装

CentOS7 Hive2.3.8 安装 建议从头用我的博客&#xff0c;如果用外教的文件到 一、9)步骤了&#xff0c;就用他的弄完&#xff0c;数据库不一样&#xff0c;在9步骤前还能继续看我的 一、 安装MySQL 0.0&#xff09;查询mariadb,有就去0.1&#xff09;&#xff0c;没有就不管…

python3装饰器

装饰器 它允许你修改函数或类的行为&#xff0c;而不更改其源代码。实质上&#xff0c;装饰器是接受另一个函数作为参数并返回一个包装原始函数的新函数。这样&#xff0c;你可以在不修改原始函数的情况下&#xff0c;添加一些额外的功能或逻辑。 def time_cost(func):"…

排队接水问题

时间限制&#xff1a;1秒 内存限制&#xff1a;128M 题目描述 有n个人在一个水龙头前排队接水&#xff0c;假如每个人接水的时间为Ti&#xff0c;请编程找出这n个人排队的一种顺序&#xff08;若有多种顺序则编号小的在前&#xff09;&#xff0c; 使得n个人的平均时间…

ARCGIS进行视域分析及地形图制作

问题说明 开发商要在本区域建造观景亭,希望在观景亭上能看到优美的景色。根据提供的数据,完成以下要求。 一、 数据说明(见“题目3”文件夹) 1. DEM.tif:研究区域的数据高程模型数据。 2. 观察点.shp:需要建造观景亭的位置。

美团分布式 ID 框架 Leaf 介绍和使用

一、Leaf 在当今日益数字化的世界里&#xff0c;软件系统的开发已经成为了几乎所有行业的核心。然而&#xff0c;随着应用程序的规模不断扩大&#xff0c;以及对性能和可扩展性的需求不断增加&#xff0c;传统的软件架构和设计模式也在不断地面临挑战。其中一个主要挑战就是如…

学生云服务器_学生云主机_学生云数据库_云+校园特惠套餐

2024年腾讯云学生服务器优惠活动「云校园」&#xff0c;学生服务器优惠价格&#xff1a;轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G配置842.4元一年&…

自注意力机制(Self-Attention)

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站&#xff08;【http://www.aideeplearning.cn】&#xff09; Transformer模型中最关键部分就是自注意力&#xff08;Self-Attention&#xff09;机制&#xff0c;正如 Transformer 的论文的标题是“…

【Vue3】函数式编程(h 函数)

h 函数的原理就是 createVNode。可以使用 h 函数封装一些小组件。 <template><table border><tr><th>name</th><th>age</th><th>操作</th></tr><tr v-for"item in list" :key"item.age"&…

shell封装

shift 命令用于对参数的移动(左移)&#xff0c;通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理&#xff08;常见于Linux中各种程序的启动脚本&#xff09; shift(shift 1) 命令每执行一次&#xff0c;变量的个数($#)减一&#xff0c;移动2位可以 执行…

数据结构实现-线性表

顺序存储 #include<iostream> using namespace std; #define MaxSize 50 //静态顺序表 template<typename ElemType> struct sqList{ElemType data[MaxSize];//元素int length;//长度 }; //动态顺序表 #ifdef DEBUG //关闭启用 #define InitSize 100 template<…

嵌入式LINUX移植、配置ssh

编译 https://quantum6.blog.csdn.net/article/details/136299665 编译时指定prefix&#xff0c;产生的文件会自带这个目录。所以直接忽略。 ./configure# 不指定编译路径&#xff0c;手动复制。 复制 编译后的整个目录打包&#xff0c;复制到开发板。写个脚本&#xff0c…

kamacoder13.镂空三角形的C语言解法

13. 镂空三角形 时间限制&#xff1a;1.000S 空间限制&#xff1a;32MB 题目描述 把一个字符三角形掏空&#xff0c;就能节省材料成本&#xff0c;减轻重量&#xff0c;但关键是为了追求另一种视觉效果。在设计的过程中&#xff0c;需要给出各种花纹的材料和大小尺寸的三角…

零拷贝技术深入分析

一、零拷贝 在前面的文章“深浅拷贝、COW及零拷贝”中对零拷贝进行过分析&#xff0c;但没有举例子&#xff0c;也没有深入进行展开分析。本文将结合实际的例程对零拷贝进行更深入的分析和说明。 在传统的IO操作中&#xff0c;以文件通过网络传输为例 &#xff0c;一般会经历以…