探索嵌入式应用框架(EAF)
M2M的应用框架
鉴于 M2M 技术的特点, 系统设计者可能不得不从头开始构建整个 M2M 体系结构。其核心是, M2M 技术包括增加一个装置或设备的智能服务, 并将该设备与可以监控或控制该设备的后端基础设施连接起来。 为了实现这一目标, 一个 M2M 设备使用了两个基本元素: 与后端通信的基础设施(无线调制解调器或模块)和运行服务的软件。
通过提供一种将 M2M 服务直接嵌入通信模块的方法, 以及预先安装装的软件模块、连接能力和处理资源方式,一般的M2M 应用框架如下:
EAF一般包括下列组成部分:
优化的轻量级操作系统
虽然一些 M2M 应用程序需要更强大的 RTOS, 但大多数都不需要。 操作系统的设计能够提供 API 来控制语音, 数据调用, 短信, 以及 TCP/IP 连接。 应该经过优化, 以充分利用直接访问协议栈的能力。 为了提供对连接应用程序的全面支持, 操作系统还应提供一个核心功能集, 其中包括:
实时性, 包括保证对外部或内部中断的响应时间, 不论其状态如何。
灵活安排任务的优先顺序。
多任务能力, 以定义和同步服务所需的任务。
在处理速度和功率选择方面的灵活性, 以优化电池寿命。
内存、固件和软件保护功能。
能够使用API访问蜂音频等媒体和数据路径。
软件库
为了简化开发过程和市场的速度时间, EAF 应该包括各种软件库和API, 提供设备或服务可能需要的各种功能。 这包括定位、全面的互联网连接协议、无线和互联网安全等服务。 EAF还应支持为目标市场具体需求开发的第三方软件库。 理想情况下, EAF 不仅应得到通信模块供应商的支持, 还应该得到合作伙伴和开发者的支持。
EAF 还应该包含一个开发工具包, 以便于编码、调试和监视 M2M 应用程序, 这些工具应该是开源的, 可以免费使用。 最终, EAF 应该提供开发 M2M 应用程序并将其嵌入模块所需的一切。
云连接
最后, EAF 应该提供工具来简化连接设备的云管理, 包括一个完全实现的系统来处理设备监控和软件/固件升级。 该系统应该允许开发者监控设备的健康状况, 并识别潜在的问题。 它还应该包括已验证的操作系统远程升级工具, 以及使用补丁机制的热修复工具。
面向脚本的EAF
对于为嵌入式系统创建软件的开发者而言,对脚本的编写并不陌生。 选择脚本是往往是解决问题的最快方法。一般地,脚本被用来自动构建和运行验证测试。作为全栈必备的Javascript被广泛应用于网页、 web 服务器和移动应用程序中,在嵌入式系统中也将占据一席之地。
出于对性能的担心,可以通过一些技术手段提升JavaScript的运行性能:
1.充分利用内置函数和对象。 Javascript 语言拥有支持数组、 JSON、正则表达式和其他字符串运算的复杂内置对象。 这些实现通常在 JavaScript 引擎中得到了很好的优化。
2.小心编码。由于脚本比本地代码慢, 代码优化在性能重要的地方是至关重要的。 Javascript 的动态特性意味着 JavaScript 引擎通常不能像 c 编译器那样有效地优化代码。
3.混合编程。没有一种语言适用于所有情况, 所以要为工作选择最好的语言, 而不是100% 纯粹地使用。 每一个 JavaScript 引擎都提供了一种从脚本调用本地代码的方法。 如果不确定性能, 首先在 JavaScript 中实现, 因为它更容易执行。 如果存在性能瓶颈, 请在 c 中重新实现函数。
在 Mozilla 的一个项目 asm.js 中出现了一个可以替代使用 c 的方法。 定义了一个严格的 JavaScript 子集, 它更容易被翻译成本地代码或 c 源代码。 利用 c 和 JavaScript 之间的语法相似性, 使翻译变得简单明了。 嵌入式开发人员可以在 asm.js JavaScript 子集中编写性能关键代码, 并将其编译为本地代码, 作为构建过程的一部分, 而不是依赖 JIT。
对于内存的使用而言,从积极的一面来看, JavaScript 使用了一个垃圾收集器, 从而消除了显式释放内存的需要。 通过这种简化, 嵌入式开发人员有时间专注于其他方面的开发。
目前,已经有多个开发系统开始支持嵌入式的JavaScript:
Espruino是一个单片机开发板, 被称为微控制器的 JavaScript。 它运行开源的 Espruino JavaScript 引擎, 它支持 JavaScript 标准的子集。
Tessel 是一个集成了Wi-Fi的JavaScript 微处理器,并提供一个兼容Node.js的 API,开发人员可以使用Node.js进行开发。
Marvell Semiconductor 的 Kinoma Create 是一个运行在 Marvell 半导体上的"JavaScript 物联网构建工具包", 它支持完整的 JavaScript 5.0.
在国內,也有类似的开发系统,例如老友周爱民老师所在的ruff.io。
总之,Javascript 在嵌入式设备上的潜力很大, 可以简化嵌入式程序员的开发工作, 并为客户提供更可靠、更可定制的产品。
综上所述,嵌入式应用框架(EAF)对嵌入式系统的成功有着重要的意义。特别是对于嵌入式开放平台而言,能够提高开发者的开发效率,促进生态系统的繁荣。然而,IoT中还有很多超轻量级的设备,或许根本没有OS,被称为“智能颗粒”,笑称“智霾”,可能不需要EAF,也可能是一种另外形态的EAF,只是我不知道而已。
参考:
Jaroslav Tulach, 《软件框架的设计艺术》,人民邮电出版社,2011
金泰延 宋亨周 朴知勋 李白 林起永, 《Android 框架揭秘》,人民邮电出版社,2012
曹洪伟,《BREW 进阶与精通》,电子工业出版社,2009
图片新闻
技术文库
最新活动更多
-
即日-12.26立即报名>>> 【在线会议】村田用于AR/VR设计开发解决方案
-
1月8日火热报名中>> Allegro助力汽车电气化和底盘解决方案优化在线研讨会
-
1月9日立即预约>>> 【直播】ADI电能计量方案:新一代直流表、EV充电器和S级电能表
-
即日-1.14火热报名中>> OFweek2025中国智造CIO在线峰会
-
即日-1.20限时下载>>> 爱德克(IDEC)设备及工业现场安全解决方案
-
即日-1.24立即参与>>> 【限时免费】安森美:Treo 平台带来出色的精密模拟
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论