到2020年,分析师预测到达到200亿台IoT设备将需要很多开发人员快速工作。帮助加速开发的一种方法是从硬件方面抽象应用程序端,以便许多不同的最终产品可以来自少数几个硬件平台。 Eclipse Foundation已经开设了一个承诺如此做的项目:Eclipse Edje。
上周在EclipseCon上宣布的Eclipse Edje开源物联网项目将定义一组应用程序编程接口(API)资源受限的设备,提供物联网应用程序必不可少的基本服务。它旨在提供一个标准库,形成硬件抽象层(HAL),用于关键的微控制器功能,如GPIO,PWM,LCD,UART等。该项目最初将利用MicroEJ的代码贡献,但欢迎并鼓励新贡献者通过Eclipse Foundation工作。
这种方法的优点很多。首先,它允许应用软件开发人员在不需要手头硬件甚至完全定义的情况下工作。只要硬件将提供API所要求的基本资源,软件就不会真正关心。因此,应用程序开发人员不仅可以在没有硬件准备的情况下工作,他们创建的应用程序也可以在支持API的任
是的,这确实意味着一旦HAL准备好就必须将HAL移植到项目硬件上,但这不应该是创建应用程序的任务非常棒。此外,Edje项目旨在(最终)为可用的硬件和软件平台提供参考实现。如果开发团队正在使用这些现有平台之一,那么移植已经完成。最糟糕的是,团队可以在移植到其独特平台时遵循一个工作模板。
目前,Edje项目的目标是32位ARM处理器实现。这意味着来自Microchip,NXP,Renesas和STMicroelectronics等公司的处理器将可以在Edje实现中使用。该项目的MicroEJ演示中提到的一些初始参考硬件包括STM32F746G DISCO板和Raspberry Pi 2.这些示例 - 200 MHz,16M闪存机到900 MHz,1 GB机器 - 反映了适用范围HAL - 部分。该项目旨在支持具有低至32 kB RAM和128 kB闪存(运行频率为16 MHz)的32位器件,如Cortex-M0产品。
Edje API适用于Java语言。 Java Edge将使用的是Java J2SE,Java J2SE Embedded,MicroEJ和Android的交集。它包括java.land,java.util,java.io等。它们至少提供三种基本服务:控制器通信接口,外设管理以及数字和模拟IO。控制器接口目前包括UART,SPI,CAN和I2C。外设管理提供平台上的外设列表(片上MCU,板载设备和外部设备),并在拔出或插入电源时通知.IO服务从Arduino中获取外观并提供能力管理各个控制器引脚。 API通过其端口和ID识别引脚,并且可以处理特定于MCU,特定于板或行业标准(如Ardiuno)的身份。
Java之前已经尝试过作为物联网平台的基础。 Eclipse的KURA,OpenJDK项目甚至Android等项目都使用了相对较大,功能强大的硬件系统。但是没有一个被证明可以扩展到微控制器领域。 Edje旨在克服它们的局限性,并将Java可编程性应用于甚至小型物联网设计。无论这个特定项目是否实现其目标或获得广泛认可,它都是物联网发展必须最终成为先例的预兆。正如我在博客中所指出的那样平台是嵌入式开发的未来,使用有针对性的手工制作软件创建自定义硬件的传统方法正在变得边缘化。像Edje项目这样的方法将继续出现,并成为越来越多的物联网设计的基础。
全部0条评论
快来发表一下你的评论吧 !