【ARM Cortex-M 系列 1.1 -- Cortex-M33 与 M4 差异 详细介绍】

2024-01-21 07:28

本文主要是介绍【ARM Cortex-M 系列 1.1 -- Cortex-M33 与 M4 差异 详细介绍】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


请阅读【嵌入式开发学习必备专栏 之 Cortex-Mx 专栏】


文章目录

    • 背景
    • Cortex-M33 与 M4 差异
      • Cortex-M33
      • Cortex-M4
      • 关系和差异
      • 举例说明

背景

在移植 RT-Thread 到 瑞萨RA4M2(Cortex-M33)上时,遇到了hardfault 问题,最后使用了Cortex-M4中的调度相关的函数后,OS 可以正常调度了。所以这里做下 M33与 M4的关系梳理。

ARM Cortex-M33 和 Cortex-M4 都是 ARM 公司设计的32位RISC微处理器核心,它们属于 ARM Cortex-M 系列,专为微控制器和嵌入式系统设计。这两种核心都很受欢迎,并被广泛应用于各种低功耗和实时处理场景。尽管它们有许多共同点,但也存在一些关键的差异。

Cortex-M33 与 M4 差异

Cortex-M33

Cortex-M33 是基于 ARMv8-M 架构的处理器核心,其中包含了一些用于增强安全性、性能和能效的新特性。它引入了 TrustZone 技术,这是为微控制器提供的一种安全功能,允许设备在不受信任的应用代码和可信固件之间创建隔离的执行区域。

Cortex-M33 提供了以下特性:

  • ARMv8-M 架构 - 可选的浮点单元(FPU),支持单精度浮点运算
  • 优化的协处理器接口,允许更紧密地集成定制硬件加速器
  • TrustZone 技术,提供硬件级别的安全性
  • 支持可选的 ARMv8-M Memory Protection Unit (MPU)
  • 可选的 Digital Signal Processing (DSP) 指令
  • 更高性能的分支预测和指令缓存

Cortex-M4

Cortex-M4 是基于 ARMv7E-M 架构的处理器核心,专为需要数字信号处理(DSP)功能的应用而设计。虽然它不具备 Cortex-M33 的一些安全性特性,但它在数字信号和控制任务方面非常出色,特别是在音频和实时处理应用中。

Cortex-M4 主要特点包括:

  • ARMv7E-M 架构
  • 可选的浮点单元(FPU),支持单精度浮点运算
  • DSP 指令集,用于高效执行常见的信号处理操作
  • 不支持 TrustZone 技术 - 支持 Memory Protection Unit (MPU)

关系和差异

关系上,Cortex-M33 继承了 Cortex-M4 的许多特性,并在此基础上增加了新的安全和性能特性。

Cortex-M23Cortex-M0+ 的继任者,主打超低功耗;
Cortex-M33是Cortex-M3和Cortex-M4的继任者,性能更强,具有DSP浮点运算功能。
在这里插入图片描述

直观比较:Cortex-M23 = Cortex-M0/M0 + 硬件除法器 + 性能提升 +专门的栈溢出硬件检测+指令集不可忽略的小动作
+安全扩展(TrustZone for Armv8-M) +MPU开发者模型的友好化改进。

直观比较:Cortex-M33 =Cortex-M3/M4 + 性能提升 +专门的栈溢出硬件检测+指令集不可忽略的小动作
+安全扩展(TrustZone for Armv8-M)+MPU开发者模型的友好化改进。

Cortex-M33 在安全性和性能上的提升使其成为适用于更广泛的应用场景,特别是那些需要硬件安全的场合。

举例说明

假设您正在开发一个智能家居系统,该系统需要安全地处理来自传感器的数据,并控制家中的各种设备。在这种情况下,Cortex-M33 的 TrustZone 技术可以提供一个安全的执行环境,以确保敏感的数据和控制逻辑受到保护,不受恶意软件的影响。而在另外一种场景中,如果您正在开发一个需要快速数字信号处理能力的音频处理器,Cortex-M4 可能是更好的选择,因为它的 DSP 指令和浮点性能能很好地满足这类需求。

关于Cortex-M系列更多内容见:【ARM Cortex-M 系列 1 – Cortex-M0, M3, M4, M7, M33, M35P 差异】

这篇关于【ARM Cortex-M 系列 1.1 -- Cortex-M33 与 M4 差异 详细介绍】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/628783

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

usaco 1.1 Broken Necklace(DP)

直接上代码 接触的第一道dp ps.大概的思路就是 先从左往右用一个数组在每个点记下蓝或黑的个数 再从右到左算一遍 最后取出最大的即可 核心语句在于: 如果 str[i] = 'r'  ,   rl[i]=rl[i-1]+1, bl[i]=0 如果 str[i] = 'b' ,  bl[i]=bl[i-1]+1, rl[i]=0 如果 str[i] = 'w',  bl[i]=b

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现