stm32系列介绍

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功