物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上

简介: <p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">http://blog.csdn.net/hellochina15/article/details/49722815<br></p><p style="color: rgb(51, 51, 51); font-f

http://blog.csdn.net/hellochina15/article/details/49722815

在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上。相关源代码已经发布到github上(github.com/hellox-project/HelloX_OS),欢迎感兴趣的朋友下载测试。

MinnowBoardMAX是在Intel的支持下,由Circuit公司开发的一款基于Intel ATOM处理器的卡片式电脑,具备超高的性能,丰富的扩展性,以及相对较低的功耗和成本。是Intel进军物联网领域的重大举措。在今年第三季度发布的Windows 10 IoT版本,就是以该款开发板作为主要的硬件开发平台。下面是MinnowBoard MAX的外观:


本质上,MinnowBoard MAX是一款PC架构的卡片电脑,所不同的是,它不带显示器,也不带键盘和鼠标等用户输入设备,只提供USB,SPI,GPIO等常用的计算机接口,这些也是物联网领域最常用的通信接口。对HelloX来说,移植到该开发板上的难点有两个:

1.    缺省情况下,MinnowBoard MAX的固件是基于UEFI标准的计算机固件,而当前版本的HelloX尚不支持UEFI,因此需要一份传统计算机上的BIOS来引导HelloX。Winzent公司专门为MinnowBoard MAX开发板定制了一个传统的BIOS,同时提供了及时专业的技术支持。在他们的支持下,我们成功刷新了MinnowBoard MAX的引导固件,成功完成HelloX的启动;

2.    由于MinnowBoard MAX没有传统的键盘和鼠标等输入设备,只能采用USB接口的键盘和鼠标。而当前版本的HelloX尚不具备USB支持功能,因此为了支持MinnowBoard MAX,不得不增加USB功能的支持。这不是一个简单的工作,我们用了将近两个月的时间,移植和优化了大约1万行代码,才实现了完整的USB功能,包括对USB OHCI/UHCI(USB 1.0/1.1)的支持,USB EHCI(USB2.0)的支持,甚至USB3.0(xHCI)的支持。

目前来说,HelloX已经可以完整的运行在MinnowBoard MAX开发板上,能够支持USB的键盘和鼠标,能够访问USB接口的存储设备。

在此,感谢HelloX开发团队,尤其是Tywind Huang做出的努力。

后续我们将把MinnowBoard MAX开发板作为HelloX的主要开发环境之一,在此基础上,充分利用该板子提供的物联网接口能力,实现各种各样的物联网应用。甚至考虑对MinnowBoard MAX进行优化和定制,推出基于该板子的产品。

对于HelloX操作系统的应用定位,再在这里解释澄清一下:

1.    HelloX始终定位为物联网操作系统,具备物联网操作系统的主要特征,比如内核高度伸缩,高度可裁剪,以适应硬件碎片化的需要。当前版本的HelloX,通过调整配置,能够实现从10几K大小,到500K大小的伸缩,几乎可以适应任何物联网领域的需要。除此之外,还支持软硬件分离特征,通过Java虚拟机机制,实现应用代码与CPU指令的完整隔离。毕竟在物联网领域,CPU的种类太多,不像PC时代,只要针对x86实现一款软件就可以打遍天下。如果没有软硬件分离的特征,从理论上说,每个应用都需要去适配所有的CPU类型,这无疑是不现实的。同时,HelloX还通过动态可加载的机制,来动态变化物联网后台支持。这也是非常关键的特征,据统计,目前市面上已经商用的物联网后台系统,就已经超过了165个。显然一款物联网产品,不可能绑定到一个物联网平台上。通过实时的加载和卸载物联网后台支持代码,可以轻松实现后台的切换。这类似于个人手机,可以通过更换SIM卡的方式,实现运营商的更换;

2.    第二种应用场景,本质上也是物联网领域,但是单独拿出来说明一下,那就是物联网网关。所谓物联网网关,基本上就是一个通信转换设备,可以把局域内的无线通信,比如蓝牙,Zigbee,Z-Wave,NFC,等等,转换为IP协议,并送到物联网后台上。同时,物联网网关也根据物联网平台发布的策略或规则,来进行本地事件的逻辑处理。比如,在电视机被关闭的情况下,立即切断智能开关的电源。这种联动机制,是不需要上升到物联网后台处理的,只需要在网关层面处理就可以了。HelloX瞄准这种物联网网关应用场景,因为这个关键设备,会是未来物联网领域最关键的一个环节。我们基于MinnowBoard MAX构筑开发环境,也是基于这个应用场景考虑的;

3.    第三种应用场景,可以概括为“给您一个新的选项”。随着功能的逐渐丰富,HelloX已经具备通用操作系统的基础能力,比如网络支持,文件系统,USB支持等等,而且从一开始就是以个人计算机作为硬件环境。如果您的应用场景很单纯,不需要windows这样的巨无霸,同时又不愿意去裁剪Linux内核,或者不想用GCC去开发应用,而想用更易用的Visual Studio开发应用,那么HelloX或许是您可以考虑的一种选项,至少可以评估一下。

下图是最新版本的HelloX,在我的DELL电脑上运行了一天之后的情况,截至目前,没有发现任何异常:


欢迎感兴趣的朋友加入我们,让我们一起构筑物联网时代的基础软件平台。联系方式:

QQ群:38467832,QQ:89007638

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
5月前
|
网络协议 Linux 编译器
【原创】EtherCAT主站IgH解析(二)-- 如何将Igh移植到Linux/Windows/RTOS等多操作系统移植指南
EtherCAT主站方案对比:商业的如Acontis、TwinCAT3和开源的igh、SOEM。SOEM易移植但功能和实时性不足,适合简单应用;igh功能强大,实时性能优秀,基于内核态,适合复杂场景。igh能移植到其他RTOS,但需克服多任务无调度的挑战。依赖操作系统服务如定时器、内存分配,适合Linux内核,但移植到裸机复杂。
234 0
|
Linux 图形学 Windows
嵌入式课程实现Linux操作系统LVGL移植操作
嵌入式课程实现Linux操作系统LVGL移植操作
|
移动开发 调度 C语言
移植一个实时OS很难?那就手把手教你如何快速移植一个RT-Thread Nano吧!
移植一个实时OS很难?那就手把手教你如何快速移植一个RT-Thread Nano吧!
157 0
|
Ubuntu 物联网 编译器
手把手移植物联网项目到arm开发板笔记(下)
手把手移植物联网项目到arm开发板笔记(下)
239 0
|
程序员 Linux 调度
操作系统的重要性及系统调用和编程语言的移植性
操作系统的重要性及系统调用和编程语言的移植性
79 0
|
物联网 编译器 调度
RISC-V MCU开发实战 (三):移植鸿蒙OS项目
ARM上移植实时操作系统大家可能比较熟悉,对于RISC-V内核的MCU,可能相对比较陌生。下面结合WCH的CH32V103和CH32V307两款芯片来详细说下针对RISC-V平台,移植实时操作系统的注意点。
RISC-V MCU开发实战 (三):移植鸿蒙OS项目
|
Unix Linux API
Linux必知词汇:可移植操作系统接口(Portable Operating System Interface, POSIX)
Linux必知词汇:可移植操作系统接口(Portable Operating System Interface, POSIX)
937 0
|
数据库管理 数据库 C#
【物联网智能网关-16】成功移植SQLite(STM32 .NET MF平台)
.NET Micro Framework系统官方代码是不支持任何数据库的,这对一些具有用户管理的Web Server、RFID数据采集和复杂的手持机应用来说是非常不方便的。
1150 0

相关产品

  • 物联网平台