零基础 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,完成下载器配置(后面给出)

STM32 | STM32到底是什么?(第一天)的更多相关文章

  1. LWIP network interface 即 LWIP 的 硬件 数据 接口 移植 首先 详解 STM32 以太网数据 到达 的第一站: ETH DMA 中断函数

    要 运行  LWIP  不光 要实现  OS  的 一些 接口  ,还要 有 硬件 数据 接口 移植 ,即 网线上 来的 数据 怎么个形式 传递给  LWIP ,去解析 做出相应的 应答  ,2017 ...

  2. stm32串口发送数据复位 第一个数据丢失

    http://blog.csdn.net/kevinhg/article/details/40991655 STM32串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完成 ...

  3. stm32 串口发送字符串丢失第一个字节

    使用stm32f103调试串口通讯时,上电后发送的字符串的第一个字节丢失. 发送数据GpuSend("SPG(2);"); 接收端收到的数据为:PG(2);,第一个字符丢失. 出现 ...

  4. [stm32] STM32 Interrupts and events 系统了解(EXTI)及槽型光电开关tp850电路研究

    中断和事件 1 嵌套向量中断控制器 特性: ● 68个可屏蔽中断通道(不包含16个Cortex™-M3的中断线):● 16个可编程的优先等级(使用了4位中断优先级):● 低延迟的异常和中断处理:● 电 ...

  5. [stm32] STM32的通用定时器TIMx系统了解

    通用定时器(TIMx) 一.TIMx简介 二.TIMx主要功能 三.TIMx功能描述 3.1 时基单元 3.2 计数器模式 3.3 时钟选择 3.4 捕获/比较通道 3.5 输入捕获模式 3.6 PW ...

  6. STM32 ~ STM32 TIM重映射

    复用功能 没有重映射 部分重映射 完全重映射 TIM3_CH1 PA6 PB4 PC6 CH2 PA7 PB5 PC7 CH3 PB0 PB0 PC8 CH4 PB1 PB1 PC9 /**重映射 t ...

  7. 嵌入式单片机STM32应用技术(课本)

    目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...

  8. SLAM+语音机器人DIY系列:(四)差分底盘设计——1.stm32主控硬件设计

    摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...

  9. STM32(1)——使用Keil MDK以及标准外设库创建STM32工程

    转载来自:http://emouse.cnblogs.com 1.1 开发工具与开发环境 1. 软件版本 本节所使用Keil MDK 为目前的最新版V4.21.其他版本差别不大,读者可以根据自己使用的 ...

  10. 使用外网控制你的STM32单片机

    转自:http://blog.csdn.net/xdxlove/article/details/50837459 本文章假设读者已经在STM32单片机上成功移植LWIP,且已经实现在局域网内控制STM ...

随机推荐

  1. 【构造,图论,建模】Loj3629「2021 集训队互测」序列

    Problem Link 有一个长为 \(n\) 的未知序列,给定 \(m\) 个限制,每个限制形如给定 \(i,j,k,x\),要求 \(a_i,a_j,a_k\) 的中位数为 \(x\).构造一个 ...

  2. node借助jsonwebtoken生成token以及验证token是否过期

    生成token使用 jsonwebtoken 插件 我当时使用的版本"jsonwebtoken": "^9.0.0", cnpm i jsonwebtoken ...

  3. 使用Visual Studio调试 .NET源代码

    前言 在我们日常开发过程中常常会使用到很多其他封装好的第三方类库(NuGet依赖项)或者是.NET框架中自带的库.如果可以设置断点并在NuGet依赖项或框架本身上使用调试器的所有功能,那么我们的源码调 ...

  4. Loguru:Python 日志终极解决方案

    关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 日志的重要性 日志的作用非常重要,日志可以记录用户的操作.程序的异常,还可以为数据分析提供依据,日志的存在意义就是为了能够在程序 ...

  5. 微信小程序网页嵌入开发

    无脑开发 下载微信开发者工具 新建一个项目找到index开头的进去全选删除粘贴下面代码 <!-- html --> <!-- 指向嵌入外部链接的地址 --> <web-v ...

  6. vs code python(Pylance server) crash

    The Pylance server crashed 5 times in the last 3 minutes. The server will not be restarted. See the ...

  7. SqlSugar导航查询/多级查询

    1.导航查询特点 作用:主要处理主对象里面有子对象这种层级关系查询 1.1 无外键开箱就用 其它ORM导航查询 需要 各种配置或者外键,而SqlSugar则开箱就用,无外键,只需配置特性和主键就能使用 ...

  8. AIX6.1系统NTP同步配置

    前言   当AIX系统的本地时间与时间服务器授出的标准时间误差大于±1000秒时.xntpd服务将无法同步时间并变得无法正常工作,请进行ntp配置前,先修改AIX系统的本地时间,尽量和时间服务器的标准 ...

  9. 【栈和队列】纯C实现栈和队列以及其基本操作-宝藏级别数据结构教程【保姆级别详细教学】

    [栈和队列]栈和队列的C语言实现-宝藏级别数据结构教程-超详细的注释和解释 先赞后看好习惯 打字不容易,这都是很用心做的,希望得到支持你 大家的点赞和支持对于我来说是一种非常重要的动力 看完之后别忘记 ...

  10. liveness-probe探针和readness-probe

    目录 探针 liveness-probe 存活探针 探针的3种方式 1. exec 2. httpGet 3. tcpSocket readness-probe 就绪探针 1. exec 2. htt ...