Cortex-M3与M4权威指南

前言

嵌入式市场正在发生一场大革命:现在大多数新的微控制器都基于ARM架构,特别是流行的Cortex-M3和Cortex-M4处理器。

许多设备都将基于Cortex-M3和Cortex-M4微控制器,可能只使用一个小电池甚至能量收集作为电源。

今天使用基于ARM Cortex-M3和Cortex-M4处理器的设备是很简单的,因为有大量的开发工具、调试实用程序和许多示例项目可用。
然而,编写高效的应用程序可能需要对硬件架构和软件模型有深入的了解。
提供深入了解流行的软件开发工具以及基于Cortex微控制器软件接口标准(CMSIS)的广泛编程示例。

它还涵盖了Cortex-M4处理器的数字信号处理(DSP)功能和用于与模拟世界接口的CMSIS-DSP库。

什么是ARM Cortex-M处理器?

一般来说,ARM Cortex-M处理器被视为精简指令集计算(RISC)处理器。
但是随着处理器技术的进步,大多数RISC处理器的指令集也变得越来越复杂,以至于传统的RISC和CISC处理器之间的边界定义已经不再适用。

Cortex-M3和Cortex-M4处理器处理器之间有很多相似之处。
大多数指令在两个处理器上都可用,并且处理器具有相同的NVIC,MPU等程序模型。然而,它们的内部设计存在一些差异,这使得Cortex-M4处理器在DSP应用中提供更高的性能,并支持浮点运算。

因此,两个处理器上可用的一些指令可以在Cortex-M4上以更少的时钟周期执行。

Cortex-M处理器家族

在这里插入图片描述
Cortex-M3和Cortex-M4处理器基于ARMv7-M架构。两者都是为微控制器设计的高性能处理器。
由于Cortex-M4处理器具有SIMD,快速MAC和饱和算术指令,因此它还可以执行一些传统上由单独的数字信号处理器(DSP)执行的数字处理应用程序。

Cortex-M0、Cortex-M0 +和Cortex-M1处理器基于ARMv6-M,它的指令集更小。Cortex-M0和Cortex-M0 þ在门数方面都非常小,最小配置只有大约12K门2,是低成本微控制器产品的理想选择。Cortex-M0þ处理器具有最先进的低功耗优化,并具有更多可用的可选功能。

处理器和微控制器之间的区别

ARM不制造微控制器。
ARM芯片设计师设计需要的处理器和各种组件,并将这些设计授权给各种芯片设计公司,包括微控制器供应商。
通常我们称这些设计为“知识产品”(IP),其商业模式称为IP 许可。

什么是ARM Cortex-M处理器?

在这里插入图片描述
在典型的微控制器设计中,处理器只占用一小部分硅面积。其它区域由存储器、时钟生成(例如锁相环)和分布逻辑、系统总线和外设(硬件,如I/O接口单元、通信接口、定时器、DAC、ADC等)占用。

虽然许多微控制器供应商使用ARM Cortex-M处理器作为它们的CPU,但存储器系统、存储器映射、外设和操作特性(例如时钟速度和电压)可以在不同产品之间完成不同。
这使得微控制器制造商可以在其产品中添加其它功能,并将其产品与市场上的其它产品区分开来。

这本书重点是Cortex-M3和Cortex-M4处理器。
对于完整的微控制器系统设计的细节,例如外设细节,内存影视和I/O引脚分配,仍然需要阅读微控制器供应商提供的参考手册。

ARM以及微控制器供应商

当一家公司获得Cortex-M处理器设计许可后,ARM会用一种名为V erilog-HDL(硬件描述语言)的语言提供处理器的设计源代码。然后,这些公司的设计工程师添加它们自己的设计模块,例如外设和存储器,并使用各种EDA工具将整个设计和各种其它形式转换为晶体管级芯片布局。

挑选Cortex-M3和Cortex-M4微控制器

市场上有各种各样的Cortex-M单片机产品。这些范围从低成本,现成的微控制器产品到芯片上的高性能多处理器系统。
在为产品选择微控制器设备时,有许多因素需要考虑。例如:

  • 外设和接口特性
  • 应用程序的内存大小要求
    在这里插入图片描述
  • 低功耗要求
  • 性能和最大频率
  • 芯片方案
  • 操作条件(电压,温度,电磁干扰)
  • 成本和可用性
  • 软件开发工具支持和开发工具包
  • 未来升级能力
  • 固件包和固件安全性
  • 应用程序说明、设计示例和支持的可用性

关于如何选择最好的微控制器并没有什么黄金法则。所有这些因素都取决于您的目标应用程序以及您的项目情况。

一些因素,如成本和产品可用性,可能会因时而异。

Cortex-M处理器的优势

低功耗
Cortex-M处理器设计也针对低功耗进行了优化。
目前,许多Cortex-M微控制器的功耗低于200mA/MHz,其中一些远低于100mA/MHz。
此外,Cortex-M处理器还支持睡眠模式功能,可与各种先进的超低功耗设计技术一起使用。

性能
Cortex-M3和Cortex-M4处理器可以提供超过3 CoreMark/MHz和1.25 DMIPS/MHz(基于Dhrystone 2.1基准)。这使得Cortex-M3和Cortex-M4微控制器可以处理许多复杂和苛刻的应用。或者,您可以使用慢得多的时钟速度运行应用程序,以减少功耗。

典型的ARM微控制器内部有什么?

微控制器内部有许多不同的东西。
在许多微控制器中,处理器占用的硅面积不到10%,其余的硅模被其他元件占用,如:

  • 程序存储器(如闪存)
  • SRAM
  • 外设
  • 内部总线基础设施
  • 时钟发生器(包括锁相环),复位发生器,以及这些信号的分配网络
  • 电压调节器和电源控制电路
  • 其它模拟元件(如ADC、DAC、电压基准电路)

虽然这些组件中的一些对程序员是直接可见的,但其它一些对软件开发人员可能是不可见的(例如,用于制造测试的支持电路)。

用于系统管理的外设和控制寄存器可以从内存映射中访问。
为了方便软件开发人员,大多数微控制器供应商为它们的微控制器提供C头文件和驱动程序库。
在大多数情况下,这些文件是用Cortex微控制器软件接口标准(CMSIS)开发的,这意味着它使用一组标准化的头文件来访问处理器特性。

调试适配器

在这里插入图片描述
为了将程序代码下载到微控制器,并执行诸如停止和单步进之类的调试操作,您可能需要一个调试适配器来将PC上的USB连接转换为微控制器使用的调试通信协议。

大多数C编译器供应商都有自己的调试适配器产品。例如,Keil?拥有ULINK产品系列(图2.2),IAR提供I-Jet产品。大多数开发套件还支持第三方调试适配器。请注意,不同的供应商可能对这些调试适配器有不同的术语,例如,调试探针、USB-JTAG适配器、JTAG/SW仿真器、JTAG在线仿真器(ICE)等。

一个带有USB调试适配器的开发板的例子:
在这里插入图片描述

软件开发流程

软件开发流程取决于使用的编译器套件。如果正在使用集成开发环境(IDE)的编译器套件,软件开发流程通常包括:

  • 创建项目时,需要创建一个项目,该项目将指定源文件的位置、编译目标、内存配置、编译选项等。许多IDE都有这个步骤的项目创建向导。
  • 添加文件到工程——需要添加项目所需的源代码文件。可能还需要在项目选项中指定任何包含的头文件的路径。
    显然,您可能还需要创建新的程序源代码文件并编写程序。请注意,您应该能够重用设备驱动程序库中的许多文件,以减少编写新文件的工作量。
    这包括启动代码、头文件和一些外围控制函数。
  • 设置项目选项——在大多数情况下,创建的项目文件允许许多项目选项,例如编译器优化选项、内存映射和输出文件类型。根据您拥有的开发板和调试适配器,您可能还需要设置调试和代码下载选项。

在这里插入图片描述

  • 33
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ARM Cortex-M3与Cortex-M4权威指南高清版 姚文祥、吴常玉、曹孟娟、王丽红编写的《ARM Cortex-M3与Cortex-M4权威指南(第3版)》经过了全 新修订:增加了ARM Cortex—M4l处理器的信息;对 ARM cortex一M3处理器的讲解进行了*新;对于ARM Cortex—M3ARM Cortex—M4进行了比较,方便其 他多种处理器架构移植到ARMCortex—M3ARM cortex—M4。本版的其他修订细节如下: 新增了论述。DSP特性和CMSIS一DSP软件库的两 章内容,介绍了DSP的基础知识以及如何编写Cortex —M4 的DSP软件,其中包括使用CMSIS—DsP库的实例 以及cortex—M4的DsP陛能方面的知识。   新增了介绍cortex—M4浮点单元及其使用的一章 内容。   新增了介绍嵌入式操作系统的使用(基于CMSIs— RTOS)以及支持嵌入式操作系统的处理器特性的一章 内容。   多种调试技术以及疑难解答。   从其他处理器进行软件移植的内容。   此外,本书介绍了ARM架构的背景知识以及指令 集、中断处理等处理器特性,并描述了如何设置并利 用存储器保护单元(MPu)等可用的高级特性。书中论 述Keil MDK、IAR EWARM、gcc以及CooCoxCoIDE工具 入门的章节可以给初学者在编写程序代码方面提供一 些帮助,其中也包括一些重要的软件开发问题,比如 低功耗特性的使用、信息输入/输出的处理、汇编和 c语言的混合编程及其他高级技术话题。
ARM Cortex-M3M4是英国ARM公司开发的一系列32位内核微控制器架构。这些微控制器广泛应用于嵌入式系统中,具有高效低功耗和高性能的特点。 《ARM Cortex-M3M4权威指南》是一本专门介绍这个微控制器架构权威指南书籍。该指南ARM公司编写,详细描述了Cortex-M3M4的设计原理、体系结构、指令集和编程模型。 首先,该指南介绍了ARM Cortex-M系列内核的特点和技术特色。它详细说明了Cortex-M3M4内核的架构和功能,如处理器状态、处理器模式、中断和异常处理机制等。读者可以通过阅读该指南全面了解这些微控制器的特性和工作原理。 其次,该指南详细介绍了Cortex-M系列微控制器的指令集和编程模型。它描述了指令的格式、寻址方式、操作数的类型和使用方法。同时,它还对Cortex-M微控制器的编程环境、调试工具和优化技术进行了讲解,帮助读者更加高效地开发应用程序。 此外,该指南还提供了大量实际的应用案例和开发实践经验。它介绍了如何使用Cortex-M微控制器开发各种类型的嵌入式系统,包括智能传感器、无线通信设备和工控系统等。通过这些案例,读者可以了解在实际开发中如何应用Cortex-M微控制器来实现特定的功能和需求。 总而言之,《ARM Cortex-M3M4权威指南》是一本全面介绍和指导读者使用Cortex-M微控制器的权威指南。它适合硬件工程师、嵌入式系统开发人员和学习ARM架构的人士阅读,能够帮助他们更好地理解和应用Cortex-M系列微控制器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饼干饼干圆又圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值