stm32系列介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STM32系列划分
• STM32系列从内核上分,可分为:Cortex-M0/-M0+、Cortex-M3、 Cortex-M4,以及Cortex-M7。
• STM32系列从应用上分,大体分为:超低功耗型、主流型、高性能型。
百度文库
STM32系列通用资源
•通信外设:USART、SPI、I2C; •定时器:Multiple general-purpose timers; •直接内存存取:Multiple DMA; •看门狗和实时时钟:2x watchdogs、RTC; •PLL和时钟电路:Integrated regulator PLL and clock circuit; •数模转换:Up to 3x 12-bit DAC; •模数转换:Up to 4x 12-bit ADC(Up to 5 MSPS); •振荡器:Main oscillator and 32KHz oscillator; •内部振荡器:Low-speed and High-speed internal RC oscillator; •工作温度:-40 to +85 °C and up to 125 °C operating temperature range; •低电压:Low voltage 2.0 to 3.6 Vor 1.65/1.7 to 3.6 V(depending on series); •内部温度传感器:Temperature sensor;
为了解决不同的芯片 厂商生产的Cortex微 控制器软件 的兼容性 问题,ARM与芯片厂 商建立了CMSIS标准 (Cortex MicroController Software Interface Standard)。
CMSIS标准
CMSIS标准中最主要的是
•所谓CMSIS标准,实际是新建了一个软件抽象层。 CMSIS核心层,它包括了:
STM32开发环境 IAR
•IAR 对比于MDK 来说,有一个比较明显的优点,那就是编译速度比MDK 快一点, 这对于急性子的人来说,是个相当不错的选择。毕竟学习单片机的人,都了解 KEIL51,所以使用MDK自然就更容易上手。
J-LINK在IAR下调试STM32
•IAR对J-LINK 可以说是完美地支持的。设置上比较简单:直接选J-Link/J-Trace, 一般地,也会把Run To 的勾勾打上,代表程序一开始自动运行到main函数部分 就停下。
STM32 库开发
•所谓库函数,就是STM32的库文件中为我们编写好的函数接口,我们只要调用 这些库函数,就可以对STM32进行配置,达到控制目的。我们可以不知道库函 数是如何实现的,但我们调用函数必须要知道函数的功能、可传入的参数及其意 义、和函数的返回值。
•下图是stm32的库帮助文档
STM32开发环境 ISP下载
STM32 串口下载与JLINK下载对比
• 串口下载
• 优点:速度快,下载稳定,特别是下载大型程序的时候。如果你的板子用的 的MAX3232或者是CH340国产的片子的话,则没有这个优点。 • 缺点:不能够在线调试。程序不能在线调试的话在开发阶段非常难受!
• JLINK下载
•综上:当我们编辑好我们的程序之后,只需要用第二个Build 按钮就可以,既方 便又省时。第一个跟第三个按钮用的比较少。
STM32开发环境 MDK 下载
•点击MDK工具栏中的Load 按钮就可将编译好的程序下载到开发板中。
STM32 库开发
• 在51单片机的程序开发中,我们直接配置51单片机的寄存器,控制芯片的工 作方式,如中断,定时器等。配置的时候,我们常常要查阅寄存器表,看用到哪 些配置位,为了配置某功能,该置1还是置0。这些都是很琐碎的、机械的工作, 因为51单片机的软件相对来说较简单,而且资源很有限,所以可以直接配置寄存 器的方式来开发。
•STM32F0:入门级别的MCU,扩展了8-/16-位处理器的世界;Cortex®-M0内核; 16KB到256KB的Flash;
STM32系列 超低功耗系列
•STM32L4:优秀的超低功耗性能,Cortex®-M4内核,128KB到1MB的Flash;
•STM32L1:经过市场验证并得出答案的32位应用的类别;Cortex®-M3内核; 32KB到512KB的Flash;
内核函数层:其中包含用于访问 内核寄存器的名称、地址定义, 主要由ARM公司提供。 设备外设访问层:提供了片上的 核外外设的地址和中断定义,主 要由芯片生产商提供。
可见CMSIS层位于硬件层 与操作系统或用户层之间,提供 了与芯片生产商无关的硬件抽象 层,可以为接口外设、实时操作 系统提供简单的处理器软件接口, 屏蔽了硬件差异,这对软件的移 植是有极大的好处的。STM32 的库,就是按照CMSIS标准建立 的。
STM32库是由ST公司针对STM32提 供的函数接口,即API (Application Program Interface),开发者可调用这 些函数接口来配置STM32的寄存器,使 开发人员得以脱离最底层的寄存器操作, 有开发快速,易于阅读,维护成本低等 优点。
实际上,库是架设在寄存器与用户 驱动层之间的代码,向下处理与寄存器 直接相关的配置,向上为用户提供配置 寄存器的接口。库开发方式与直接配置 寄存器方式的区别。
STM32 库和寄存器开发对比
• 对于STM32,因为外设资源丰富,带来的必然是寄存器的数量和复杂度的增 加,这时直接配置寄存器方式的缺陷就突显出来了: •1) 开发速度慢 •2) 程序可读性差 •这两个缺陷直接影响了开发效率,程序维护成本,交流成本。库开发方式则正 好弥补了这两个缺陷。 •而坚持采用直接配置寄存器的方式开发的程序员,会列举以下原因: •1) 更直观 •2) 程序运行占用资源少
野火秉火STM32开发板
正点原子 STM32开发板
•网络上的STM32学习板配置更强拥有更多的外设,更多的 功能。特别是对于初学者特别重要的学习资料非常齐全,如 配套教学视频、PDF文档、配套例程等。还配有论坛,可以 在论坛里发帖提问相互交流。
STM32开发环境 Jlink
•J-Link 是SEGGER 公司为支持仿真ARM 内核芯片推出的JTAG 仿真器。配合 AREWARM , ADS , KEIL , WINARM , RealView 等集成开发环境支持所有 ARM7/ARM9等内核芯片的仿真,通过RDI 接口和各集成开发环境无缝连接,操 作方便、连接方便、简单易学,是学习ARM 最好最实用的开发工具。 •* 最高JTAG 速度12 MHz * 目标板电压范围1.2V – 3.3V •* 自动速度识别功能* 监测所有JTAG 信号和目标板电压 •* 完全即插即用 •* 使用USB 电源(有些型号可以对目标板供电)
CMSIS标准
•我们知道STM32的内核是ARM公司设计的处理器体系架构。ARM公司并不生产 芯片,而是出售其芯片技术授权。ST公司或其它芯片生产厂商如TI,负责设计的 是在内核之外的部件,被称为核外外设或片上外设、设备外设。如芯片内部的模 数转换外设ADC、串口UART、定时器TIM等。内核与外设,如同PC上的CPU与 主板、内存、显卡、硬盘的关系。
STM32开发环境 MDK
• MDK是一个集代码编辑,编译,链接和下载于一体的集成开发环境(KDE)。 MDK这个名字我们可能不熟悉,但说到KEIL,学过51单片机的就再熟悉不过了。 在KEIL被ARM公司收购之后就改名为MDK了,所以学过51的话就比较容易上手。
STM32开发环境 MDK 编译
•STM32L0:完美符合8-/16-位应用而且超值设计的类别;Cortex®-M0+内核; 16KB到192KB的Flash。
Cortex-M系列总对比
指令集
Cortex-M各系列内核性能比较
Cortex-M各系列内核性能比较
主流的STM32学习板
STM32 DISCOVERY
STM32 DISCOVERY套件是ST公司官 方出品的开发板,它带有必要的硬件电 路,可演示特定的设备特性,并且拥有 全面的软件例程适合初学者学习。
• 优点:可以在线调试,开发一大利器,必不可少。有JLINK,犹如倚天屠龙在 手。要想提高自己的编程能力,学会调试是你永远绕不过去的坎。 • 缺点:正版JLINK价格昂贵,动辄上千,但是国内已经破解了JLINK里面的固 件,生产出了山寨的JLINK,便宜又好用,价格在百元以内。
•强烈推荐使用JLINK来调试stm32,省心高效!
•第一个按钮:Translate 就是翻译当下修改过的文件,说明白点就是检查下有没 有语法错误,并不会去链接库文件,也不会生成可执行文件。
•第二个按钮:Build 就是编译当下修改过的文件,它包含了语法检查,链接动态 库文件,生成可执行文件。
•第三个按钮:Rebuild 重新编译整个工程,跟 Build 这个按钮实现的功能是一样 的,但有所不同的是它编译的是整个工程的所有文件,耗时巨大。
STM32系列 高性能系列
•STM32F7:极高性能的MCU类别,支持高级特性;Cortex®-M7内核;512KB 到1MB的Flash;
•STM32F4:支持访问高级特性的高性能DSP和FPU指令;Cortex®-M4内核; 128KB到2MB的Flash;
•STM32F2:性价比极高的中档MCU类别;Cortex®-M3内核;128KB到1MB的 Flash;
STM32开发环境 ISP下载
•这是最原始的烧写方式,插个串口就可以。当然,在ISP之前,还需要硬件跳线让 CPU进入ISP状态。
•USR代表程序从用户FLASH 上启动 •ISP则为进入芯片下载状态 •RAM 代表程序从RAM 中运行
*只有ISP 方式下载代码才需要跳线,其余使用J-LINK 的调试和下载方式,跳线 都应该在USR上!
STM32系列 主流型系列
•STM32F3:升级F1系列各级别的先进模拟外设;Cortex®-M4内核;16KB到 512KB的Flash;
•STM32F1:基础系列,基于Cortex®-M3内核;16KB到1MB的Flash;这是当前 最热门的STM32系列,应用广泛,学习资料、学习板非常多,推荐初学者使用 这款单片机学习;
STM32 32-bit ARM Cortex MCUs 概述
STM32系列32位微控制器,基于ARM® Cortex®-M处理器。它能支持32位广泛的应用, 支持包括高性能、实时功能、数字信号处理,和 低功耗、低电压操作,同时拥有一个完全集成和 易用的开发。
以STM32为应用的产品线非常广泛,是由于 其基于工业标准的内核、有大量的工具和软件作 支持,使该系列芯片成为众多产品的理想选择, 不管是小终端,还是一个大型的平台。