- UID
- 1029342
- 性别
- 男
|
毫无疑问,ARM Cortex-M7 - 拥有强大的内存和处理能力 –以即使在几年前都难以想象的方式扩展了微控制器的功能。该处理器被定位成为物联网(IOT)的核心构建模块的事实,更是夺人眼目。
事实上,意法半导体的STM32 F7系列在9月的ARM科技论坛上荣获了最佳表现奖。这是第一款采用ARM的Cortex-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的容错性和并发性。” |
|