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

news2024/11/14 19:00:22


请阅读【嵌入式开发学习必备专栏 之 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 差异】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1398185.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

物理层网路设备

目录 一、物理层网络设备-中继器 二、物理层网络设备-集线器 三、在物理层扩展局域网 一、物理层网络设备-中继器 中继器的介绍: 线路上传输的信号功率由于存在损耗会逐渐衰减,衰减到一定程度时信号失真会导致接收错误。中继器就是为解决这一问题而…

小埋公司的IPO方案的题解

目录 原题描述: 题目描述 输入格式 输出格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 样例 #2 样例输入 #2 样例输出 #2 提示 题目大意: 主要思路: 但是but 代码code: 时间限制: 500ms 空间限制: 65536kB 原题…

Wayfair 开启2024年的裁员模式

周五的时候 Wayfair 的 CEO 公开信中表示,将削减 1650 个工作岗位。 通篇读下来的意思就是公司目前还是非常健康的状态,新冠导致的在线购物激增让 Wayfair 在短时间内的销售从 90 亿美元增加到 180 亿美元。 几乎是翻倍了,而且这个让 Wayfai…

Unity vs Godot :哪个游戏引擎更适合你?

Unity vs Godot :哪个游戏引擎更适合你? 游戏引擎的选择对开发过程和最终产品质量有着重大影响。近年来,Godot和Unity这两款引擎受到广泛关注。本文将从多个维度对两者进行比较,以期为开发者提供正确的选择建议。 Godot和Unity都有…

[Error]连接iPhone调试时提示Failed to prepare the device for development.

环境: iPhone 7 Plus iOS 15.8 Xcode14.2 问题: 连接iPhone设备运行时,设备旁提示如下文案。 Failed to prepare the device for development. 这时强行点击运行按钮,会弹窗提示如下文案。 The run destination ZDMiPhone is n…

分类预测 | Matlab实现WOA(海象)-XGboost分类【24年新算法】基于海象优化算法(WOA)优化XGBoost的数据分类预测

分类预测 | Matlab实现WOA(海象)-XGboost分类【24年新算法】基于海象优化算法(WOA)优化XGBoost的数据分类预测 目录 分类预测 | Matlab实现WOA(海象)-XGboost分类【24年新算法】基于海象优化算法(WOA)优化XGBoost的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本…

第一篇【传奇开心果系列】beeware开发移动应用:轮盘抽奖移动应用

系列博文目录 beeware开发移动应用示例系列博文目录一、项目目标二、开发传奇开心果轮盘抽奖安卓应用编程思路三、传奇开心果轮盘抽奖安卓应用示例代码四、补充抽奖逻辑实现五、开发传奇开心果轮盘抽奖苹果手机应用编程思路六、开发传奇开心果轮盘抽奖苹果手机应用示例代码七、…

B站提示:“当前浏览器版本较低……”可行的解决方案(edge浏览器)

文章目录 问题研究和分析使用User-Agent Switcher for Chrome插件的解决方法使用userAgent switcher的解决方法 问题研究和分析 问题:使用最新版浏览器访问B站,首页总是有一条横幅提示:当前浏览器版本较低,为保证您的使用体验&am…

怎么用小程序将身份证转为结构化Excel?

随着科技的不断发展,我们的生活变得越来越智能化。现在,我们可以使用金鸣表格文字识别小程序来识别身份证并转为结构化的excel,并且可自动核对真伪,保留头像。金鸣表格文字识别小程序是一种基于人工智能技术的应用程序&#xff0c…

全开源多城市同城信息小程序源码(Laravel 框架),同城分类信息发布便民小程序系统【非DZ】

同城生活分类信息小程序,人才招聘、房产二手 多城市地区同城分类信息发布,商家入驻等功能 小程序前后端代码开源无加密,可进行二次开发 【源码运行要求】 1、需要已认证的微信小程序 2、已备案的域名及服务器空间 推荐使用宝塔面板LinuxPHP…

五、模 板

1 泛型编程 以往我们想实现一个通用的交换函数,可能是通过下面的方式来实现的: void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left ri…

luffy商城项目(一)

企业项目类型 # 1 面向互联网用户:商城类项目 -微信小程序商城 # 2 面向互联网用户:二手交易类的 -咸鱼 -转转 # 3 公司内部项目:python写的重点 -oa系统 -打卡系统工资核算系统 -第三方公司做的&#xff1a…

区间问题笔记

1、k倍区间 #include <iostream> #include<cmath> #include<vector> #include<algorithm> #include<stack> using namespace std;long long sum[100005]; // 前缀和数组 int cnt[100005]; // 记录sum[i]除k得到的余数的个数 int ans;int…

Python基本输入和输出

Python是一种高级编程语言&#xff0c;以其简洁易学和功能强大而闻名。在Python中&#xff0c;输入和输出是编程中至关重要的一部分&#xff0c;它们帮助程序与用户进行交互&#xff0c;以便获取输入并向用户显示输出。本文将重点介绍Python中的基本输入和输出&#xff0c;包括…

在 Python 中检查一个数字是否是同构数

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 同构数&#xff0c;又称为自守数或自同构数&#xff0c;是一类特殊的数字&#xff0c;它们具有一种有趣的性质&#xff1a;将其平方后的数字&#xff0c;可以通过某种方式重新排列得到原来的数字。本文将详细介绍…

【信号与系统】(1)连续和离散表示

在信号处理和数学中&#xff0c;连续和离散是两种基本的表示方法&#xff0c;用于描述信号、函数或数据集。 对连续信号 f(t)进行等间隔采样得到 连续表示&#xff08;Continuous Representation&#xff09; 连续表示通常用于描述在一个连续范围内变化的信号或函数。在连续…

ros2 基础教程-使用ROS 2进行相机标定

ROS 2进行相机标定&#xff08;Camera Calibration&#xff09; 相机&#xff08;摄像头&#xff09;是一种非常精密的光学仪器&#xff0c;对外界环境的感知非常敏感。由于摄像头内部和外部的一些原因&#xff0c;摄像头采集的图像常常会发生一定的畸变。如果直接将采集到的图…

JVM性能调优-垃圾收集器ParNew

垃圾收集算法 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法&#xff0c;这种算法没有什么新的思想&#xff0c;只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代&#xff0c;这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 比…

独立服务器和云服务器的区别

独立服务器和云服务器的区别是很多用户在选择服务器时要做的课程&#xff0c;那么独立服务器和云服务器的区别有哪些呢? 独立服务器和云服务器是两种不同的服务器部署方式&#xff0c;它们在性能、成本、资源利用、安全性和维护等方面存在显著差异。 1. **性能对比**&#xff…

AI短视频制作:创意与技术的完美结合

文章目录 一、充分了解AI技术的应用范围和优势二、创意策划&#xff0c;确定作品主题和风格三、素材收集&#xff0c;丰富作品内容四、特效制作&#xff0c;提升作品视觉效果五、配音处理&#xff0c;增强作品表现力六、作品发布&#xff0c;扩大作品传播范围《AI短视频制作一本…