STM32F0单片机快速入门一: ARM架构与STM32F0

发布时间:2023-03-17  

1.ARM架构简单介绍

市场上成百上千种的 ARM 芯片,如果我们去看它们的内核,却只有不多的几种。

从时间上来看,从1985年设计的 26 位地址总线的 ARMv1, 到 ARMv2, 一直发展到最近支持64位地址总线的 ARMv8。

最近这几年,在每一代 ARMvx 核心的基础上,根据不同的应用场景,又做了扩充或裁剪,形成三大架构:

A(Applications) 高性能,一般需要运行Linux等操作系统。

R(Real-time) 需要实时处理的系统,一般应用与网络处理器,嵌入式控制系统。

M(Microcontroller) 小体积,低功耗,一般应用于嵌入式系统。

ARMv1 - ARMv5 已经成为历史了。我们对最新的 ARMv6 - ARMv8 做一个简要区分:

ARMv8-A

高性能,支持64位指令集,同时兼容以前的32/16位指令集。针对安全应用引入Trustzone。

典型芯片如华为的麒麟系列,Kirin990 内部集成了4颗 Cortex-A76,4颗 Cortex-A55,每一颗频率都可以跑到 2GHz以上。同样高通的骁龙865也是集成8颗 ARMv8-A 架构的内核。

ARMv8-M

针对嵌入式应用,支持32位指令集,兼容以前指令集。引入Trustzone。加解密运算通过硬件加速。

典型芯片如 STM32L552 (Cortex-M33 内核)。主频可以跑到 110 MHz。

ARMv7-A

支持 arm 和 Thumb 指令集,支持虚拟地址存储管理(Virtual Address Support in the Memory Management Unit)。跑 Linux 这类操作系统一般需要 MMU。这种架构主要面向复杂应用。

典型芯片如 STM32MP151 (Cortex-A7 内核) 。主频可以跑到 650 MHz。

ARMv7-R

支持 ARM 和 Thumb 指令集,但不支持虚拟地址管理。

典型芯片如 RM41L232 (Cortex-R4 内核)。主频可以跑到 80 MHz。

ARMv7-M

只支持 Thumb 指令集。简化的流水线,更快的中断响应,针对嵌入式应用。

典型芯片如 STM32F103 (Cortex-M3 内核)。主频可以跑到72MHz。

ARMv6-M

ARMv6-M 是 ARMv7-M 的一个子集。架构做了进一步简化,但是保持和 ARMv7-M 兼容。

典型芯片如 STM32F030 (Cortex-M0 内核)。主频可以跑到48MHz。

ARMv5 及以前版本

早期架构,已不推荐使用。

典型芯片:

ARM926 (ARMv5)

ARM7TDMI (ARMv4)

2.STM32F030芯片简介

STM32F030 的内核,采用了 ARMv6-M 架构的 Cortex-M0。这个系列提供了从 16K Flash, 4K RAM, TSSOP20 封装,到 256K Flash, 32K RAM, LQFP64封装的多种选择。

同时这颗芯片集成了最常用的 UART,I2C, USART, ADC 等模块。在掌握了它的开发方法后,很容易拓展到其它的芯片。

3.开发版

硬件可以选用官方的 NUCLEO-F030R8

如图,这个板子由两部分组成。上半部分是一个集成的下载调试工具 ST-LINK/V2,下半部分板子带一颗 STM32F030R8T6,简单的 32k 晶振,两个按键和一个LED 指示灯。它把所有的引脚都用排针引了出来,可以方便用户扩展电路做评估。

上半部分的调试器部分可以从板子上切割下来单独使用,调试用户做的板子。用户也可以从网上单独购买 ST-LINK/V2调试器。

4.集成开发环境(IDE)

对于 STM32F0/L0/G0, 在 ST 的官方网站上可以下载到正版免费的 Keil。

Arm Keil MDK for STM32F0, STM32L0 and STM32G0

这个版本没有时间限制,但是代码有 32K 的限制,对一般应用来说也够了。

5. 软件代码

ST早期的代码都是基于 Standard Peripheral Library,最近ST的软件逐渐统一于 STMCube。它对软件进行了更科学的分层管理,更易于在不同的平台间移植。可以极大的缩短开发时间。如果是新项目,可以从 STMCube 入手。以前的软件库将逐渐淘汰。

对于STM32F030来说,对应的是 STM32CubeF0,在官网可以直接下载:

之后的文章我们将从开发环境建立,启动代码,到各个模块如何使用。

在下面的网址可以找到现在所有的ARM内核:

arm.com/products/silico

ST的官方中文站点:

stmcu.org.cn/

参考资料:

STM32F030RM

ARM®v6-M Architecture Reference Manual

ARM®v7-M Architecture Reference Manual

Arm®v8-M Architecture Reference Manual


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    89C51单片机结构框图;89C51单片机结构框图 1、一个8位 的微处理器CPU。 2、片内数据存储器(RAM128B/256B):用以存放可以读/写的数据,如运算的中间结果、最终......
    -51单片机最大的时序定时单位,同时把MCS-51单片机的结构特点和内部包含的功能部件也做了个汇总,跟随小编一起来了解一下吧。   MCS-51单片机结构特点   (1)一个8位微处理器CPU......
    晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。          以下是单片机结构实物图:              如何掌握单片机:         最小系统能够运行起来的必要条件:          (1......
    89C51单片机的结构框图及原理解析;89C51单片机结构框图 1、一个8位 的微处理器CPU。 2、片内数据存储器(RAM128B/256B):用以存放可以读/写的数据,如运算的中间结果、最终......
    的内部分别的功能作用   下图就是我们要研究学习的对象,51单片机结构图了。大家看看图,中间的一条双横线就是51单片机的内部总线了。其它的部件都是通过内部的总线与CPU相联接的,在第......
    来说。STC是单时钟/机器周期的单片机,说白了STC单片机51与AVR的结合体,有人说AVR是51的替代单片机,但是AVR单片机在位控制和C语言写法上存在很大的差异。 而STC单片机结合了51和AVR......
    ,PHILIPS的P87(89)x,台湾WINBOND的w77(78)x系列,Cygnal的C8051Fx系列。6)51单片机结构的C描述这里不讲51的具体结构,只是引导初学者快速理解51单片机的物理结构......
    内部主要有四大功能模块,分别是I/O口模块、中断模块、定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图:      图1 51单片机结构和功能图   51单片机掌握的好坏,其实......
    一般不具备自编程能力。 二、51 单片机入门自学建议 作为一个初学者,如何 51 单片机入门? 实际上,其实不需要多少东西,会简单的 C 语言,知道 51 单片机的基本结构就可以了。一般的大学毕业生都可以了,自学过这 2......
    单片机的内部资源、存储器结构、时钟体系以及工作时序等方面进行介绍。 1. 内部资源 在51单片机内部,主要包含以下几个模块: (1) CPU:51单片机的CPU采用8051核心,支持......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>