全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

运行在嵌入式系统上的emApps

时间:2025-06-18 09:53

人气:

作者:admin

标签: 应用程序  SE 

导读:在当今快节奏的嵌入式系统世界中,灵活性和适应性是嵌入式系统实现的关键。SEGGER推出了其最新创新:Embedded apps(emApps)应用,类似于手机上的应用程序,可以运行在嵌入式系统上。...

在当今快节奏的嵌入式系统世界中,灵活性和适应性是嵌入式系统实现的关键。SEGGER推出了其最新创新:Embedded apps(emApps)应用,类似于手机上的应用程序,可以运行在嵌入式系统上。

应用是小型的动态软件,可以静态或动态地链接到设备固件中。通常使用动态链接方式,这意味着用户可以随时下载并将它们添加到已有固件中。

应用由固件中的一段高度优化的代码执行,这段代码即执行器,它实现了虚拟CPU的指令集。此功能扩展了设备功能,使其更加通用,适应新的需求和更新。从本质上讲,应用允许用户将嵌入式设备变成嵌入式平台!

应用的一个突出特点是它们是沙盒式的。换言之,它们在受保护的环境中运行,底层操作系统可以监视其行为。如果一个应用试图做一些它不应该做的事情,执行器将暂停应用程序的执行并返回到固件(调用者),由固件决定如何处理这种情况,这确保了即使应用程序出现问题,也不会造成任何伤害,系统的其余部分仍然保持稳定和安全。

基本原理

0e5e8638-4804-11f0-b715-92fbcf53809c.png

我们需要将带有API功能的沙盒和执行器添加到固件中,这样设备就可以执行应用了。要向应用添加功能,可以添加API函数。为了给文件系统添加读访问,通常会添加3个函数,比如OpenFile,ReadFile, CloseFile。为了允许写访问,需要添加一个WriteFile函数。

如何加载应用程序以及在什么上下文中/线程中执行它们取决于固件设计人员。

多个应用可以同时运行,在实时操作系统(RTOS)的控制下运行在一个核或不同核上。因为执行器由固件调用,任何RTOS都可以实现。

每个应用有独立的内存空间。如果应用程序遇到问题(如崩溃……),它不会影响系统稳定性,就像手机或桌面应用程序崩溃不会影响系统一样。这甚至可以让应用在安全关键环境中运行,甚至可以使认证一个关键系统变得更容易,因为外设功能(如显示器的控制)可以转移到一个应用中,而不需要成为认证过程的一部分。

内存需求

这些应用不仅提高了灵活性,其内存消耗也很小。执行器是嵌入式固件的一部分,通常需要600到1000字节空间。我们提供了一个ARM优化版本以及可移植的C版本,它可以运行在几乎任何平台上。固件提供API功能,通常会增加1到3 KB占用,具体取决于希望向应用公开的本地功能。这意味着emApps甚至可以在更小的系统(64KB闪存)上运行,该框架可以很容易地集成到现有固件中。

代码密度

运行这些应用的虚拟CPU的代码密度非常高,甚至高于主机CPU的代码密度,特别是在RISC-V环境中。这可以帮助节省宝贵的程序空间,特别是当应用静态地内置时!对于这个虚拟CPU,我们使用自己的C编译器,其他语言如Basic,Pascal,Phyton可以通过C转换器来使用。

内存保护-沙箱

应用只能使用固件分配的内存空间。只要应用处于活动状态,固件就会为其提供内存。任何意图访问指定空间之外的内存都会被拦截,执行器返回并让调用者(固件)决定如何处理这种情况。

性能

应用由固件中的执行器执行。执行器实现了一个虚拟CPU的指令集,我们为此进行了优化:

该指令集非常紧凑,因此由虚拟CPU执行的指令数量通常显著低于主机CPU执行相同功能所需的指令数量,并且可以在任何CPU上轻松高效地执行。结合将计算密集型任务卸载到主机CPU的能力,性能可以非常接近主机CPU。

这种创新的方法已经集成到J-Link和Flasher产品线中,通过应用可以方便的增加新的CPU支持。在Flasher Hub中,通过应用允许自定义web用户界面,添加新功能或简单地更改用户界面语言。

不同行业的嵌入式应用程序都可以利用这种技术。通过emApps,用户以一种安全可控的方式扩展功能,这种方法不仅提高了灵活性,而且为第三方开发人员提供了为生态系统做出贡献的机会。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信