ARM Cortex-M7的内存:太大还是不够?

毫无疑问,ARM Cortex-M7 - 拥有强大的内存和处理能力 –以即使在几年前都难以想象的方式扩展了微控制器的功能。该处理器被定位成为物联网(IOT)的核心构建模块的事实,更是夺人眼目。

本文引用地址:http://www.eepw.com.cn/article/264892.htm

  事实上,意法半导体的STM32 F7系列在9月的ARM科技论坛上荣获了最佳表现奖。这是第一款采用ARMCortex-M7内核的32位MCU家族,拥有320KB SRAM和1024KB闪存。爱特梅尔采用Cortex-M7内核的处理器还没有公布,预计将有384KB SRAM和2MB闪存,这种内存规格高出典型的MCU 10倍以上。

  但是,Cortex-M7是否拥有“完成任务”所需的必要资源基本上还是要取决于开发者。本质上:今天的嵌入式开发人员,有时是在似乎几乎不受约束的设计空间上,绞尽脑汁地在硬件、软件和系统设计上做出如毛线团似的大量繁杂的决定和取舍。

  

  “对于来自Windows,Linux,iOS,Web服务编程和商用逻辑编程领域的开发人员,Cortex-M7有太多限制和性能上的扼杀。但是,对于曾在8051等任何8位微处理器上,或Cortex-M0到M3上的开发者而言,他们眼中的Cortex-M7资源丰富、性能强大。” Matt Liberty说。他是Jetperch LLC的创始人,该公司提供DSP和嵌入式软件咨询服务。

  一个实时I / O处理的强者

  “这是一个实时I/ O处理的强者。事实上,像很多在8位单片机上编写的小型嵌入式程序那样不带操作系统裸机运行在目标硬件上的循环程序,它们高效、简单易懂且易于调试,可能很难使用这么多的性能配置和存储器。”

  Liberty强调,在物联网的应用场景中,为了更有效地管理复杂的网络和多个外围设备,采用一个实时操作系统(RTOS)变得非常关键。但是,过去几年来,随着开发社区努力寻找更佳的方案,RTOS的数量也在激增,现在,选择“最好”的RTOS已经成为开发人员的一大挑战。

  “快速浏览维基百科的“实时操作系统列表”就足以让嵌入式软件工程师头大”,Liberty强调。 “虽然C和C ++仍然司空见惯,但在考虑多线程、安全性以及可靠性时,这两种语言都显得捉襟见肘。D和Rust语言具有填补这些空白的潜力,但它们今天都没有做好用于嵌入式应用的准备。”

  Frank Hunleth,一名专注于视频处理和嵌入式Linux开发的嵌入式软件开发人员,他也认为,实时操作系统行业需要证明在这些平台上使用高级语言的可能性,并帮助定义它们的库。

  “我敢肯定,如果明年我在一个项目上使用M7,我还是会使用C或C ++,因为它们有大部分工具和库的广泛支持,”他说。 “我希望这种情形保持下去吗?不是的,因为如果这样,我们将错失可以从Rust语言得到的静态检查内存安全,从Python语言得到的易开发特性,和来自Erlang和Elixir的容错性和并发性。”

  内存有点小

  其他人觉得,对物联网而言,即使有旨在最大限度地利用M7内存的功能特性,M7的内存依然稍显不足。一个例子是ST针对内部嵌入式闪存和L1高速缓存的自适应实时加速器,它可以从内部和外部存储器同时执行指令和访问数据。

  “对一个微控制器而言,这是一个很大的内存和存储空间。但是,哪怕是最小的Java虚拟机[即解释Java字节码,使处理器执行程序指令的环境]至少也需要2MB才能运行起来,一时半会我们还不太可能会看到Java或任何其他基于虚拟机的平台上运行在这些小的CPU内核上。” PTR集团的首席技术官和首席科学家Michael Anderson说。“如果你增加一个通信协议栈和一个可执行程序或诸如ARM的mbed、Micrium的μC/ OS-III或FreeRTOS之类的实时操作系统,你的程序空间会显得非常小。”

  Anderson强调,内存使用率是很多这些物联网新应用的命脉。“内存是宝贵的。类库内部封装的API会吃掉内存,尽管它在通用计算机上表现良好。这些年,在计算机行业,我们的代码只有少数存在不知情内存膨胀的案例。如果我们不认真思考正在进行的开发任务,并继续以我们在大容量内存环境下已经习惯的方式编写代码,我们就永远无法使用这些小内存的微控制器进行物联网应用开发,并发掘出其令人惊艳的可能性。”

时间: 2024-10-08 04:40:58

ARM Cortex-M7的内存:太大还是不够?的相关文章

Unity3D占用内存太大的解决方法

原文链接:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBund

Unity3D占用内存太大的解决方法【先转,慢慢看】

Unity3D占用内存太大的解决方法 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径和来源的. 其实场景里所有静态的对象也有这么一

mysql5.6默认情况下内存占用太大

下载了mysql5.6.12 ,默认占用内存达400多M,  而原来使用的5.0 只有30M.. 解决方案:调整以下参数----------------performance_schema_max_table_instances=600table_definition_cache=400table_open_cache=256 这样下来,mysql5.6.12就只使用  40---60M左右的内存了. 以下是5.6默认的设置performance_schema_max_table_instanc

解决持久化数据太大,单个节点的硬盘无法存储的问题;解决运算量太大,单个节点的内存、CPU无法处理的问题

需要学习的技术很多,要自学新知识也不是一件容易的事,选择一个自己比较感兴趣的会是一个比较好的开端,于是,打算学一学分布式系统. 带着问题,有目的的学习,先了解整体架构,在深入感兴趣的细节,这是我的计划. 首先得有问题,如果每日重复相同的工作,也不主动去学习,很难发现新的问题.不怕自己无知,就怕不知道自己无知,只有不断的学习,才会发现更多未知的知识领域! 带着问题出发 回到顶部 分布式要解决什么问题呢?解决持久化数据太大,单个节点的硬盘无法存储的问题:解决运算量太大,单个节点的内存.CPU无法处理

jvm内存快照dump文件太大,怎么分析

来自凌幽草 1.场景 通常,使用eclipse的mat图形化工具打开dump的时候都会内存溢出. 对于比较小的dump,eclipse可以打开,但一旦dump文件太大,eclipse就有点束手无策. 这时候怎么办呢?可以使用linux下的mat,既Memory Analyzer Tools 2.dump生成 dump可以是内存溢出时让其自动生成,或者手工直接导.配置jvm参数-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/biapp/

beyond compare解决特殊字符无法输出、多sheet页无法对比以及文件太大超出系统内存问题的Excel转txt脚本

' XLS_to_CSV.vbs ' ' Converts an Excel workbook to a comma-separated text file. Requires Microsoft Excel. ' Usage: ' WScript XLS_to_CSV.vbs <input file> <output file> Option Explicit ' MsoAutomationSecurity Const msoAutomationSecurityForceDisa

ARM cortex a 之时钟系统1

ARM cortex a系列的时钟系统是一个非常复杂而且麻烦的东西,下面我们首先明确一些概念和东西. 本部分主要介绍一下时钟系统的初始化工作,以及里面的一些原理. S5PV210的时钟系统是一个非常麻烦的东西,首先需要时钟信号的产生,时钟发生器只有和晶振一起工作才能产生时钟信号,这两个单独使用的话是没有任何作用的. 时钟系统分为三个大域:即主系统(MSYS),显示系统(DSYS),和外围系统(PSYS). (1)MSYS域包括cortexA8处理器,DRAM内存控制器(DMC0和DMC1),3D

实现不了的250亿 苏宁众包画饼太大

苏宁近几年玩了太多噱头:将自己定位于"云商"大玩线上线下同步.咋咋呼呼的弄出一个无疾而终的开放平台.以及免费贴膜告示噱头来吸引眼球,似乎也在向业界和用户诉说着自己对未来规划的茫然. 就在这些噱头还未停歇之际,苏宁最近又开始炒作众包的概念,并大喊着要改变整个供应链模式.实现商业模式的深度变革的口号.并且还夸下海口,明年就能创造250亿元价值的"巨大"诺言.不过各位看官,可别被这些新潮.老套的概念忽悠得晕头转向,要知道对于现在的苏宁来说,这众包模式和250亿的目标或许注

ANDROID内存优化(大汇总——全)

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都欢迎阅读.(本文最后我会尽量列出所参考的文章). OOM: 内存泄露可以引发很多的问题: