在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

物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上的更多相关文章

  1. (原创)AP6212移植到AM335X自主开发板上

    转载请指明出处. 参考<关于AM335X移植SDIO WIFI的简易教程> http://www.deyisupport.com/question_answer/dsp_arm/sitar ...

  2. minigui移植到arm linux开发板上无法执行

    要保证目录下有该文件 /etc/MiniGUI.cfg 复制过程使用cp –af 强制复制

  3. 物联网操作系统HelloX V1.79发布公告

    经过HelloX开发团队近半年的努力,在HelloX V1.78版本基础上,增加许多功能特性,并对V1.78版本的一些特性进行了进一步优化之后,正式形成HelloX V1.79测试版本.经相对充分的测 ...

  4. live555 交叉编译移植到海思开发板

    本文章参考了.http://blog.csdn.net/lawishere/article/details/8182952,写了hi3518的配置说明.特此感谢 https://blog.csdn.n ...

  5. 【开发实录】在鸿蒙开发板上使用websocket(移植自librws库)

    librws: Tiny, cross platform websocket client C library 相关代码可在下面下载,也可进入librws: 将librws移植到鸿蒙Hi_3861开发 ...

  6. 物联网操作系统HelloX V1.80测试版发布

    经过HelloX开发团队近半年的努力,在HelloXV1.79版本基础上,增加许多功能特性,并对V1.79版本的一些特性进行了进一步优化之后,正式形成HelloX V1.80测试版本.经相对充分的测试 ...

  7. 物联网操作系统HelloX V1.77(beta)版本发布

    物联网操作系统HelloX V1.77发布 经过近半年的努力,物联网操作系统HelloX V1.77版本正式完成,源代码已上载到github(github.com/hellox-project/Hel ...

  8. 基于物联网操作系统HelloX的智慧家庭体系架构

    基于物联网操作系统HelloX的智慧家庭体系架构 智慧家庭是物联网的一个分支应用,是一个被广泛认同的巨大IT市场空间.目前市场上已经有很多针对智慧家庭的产品或解决方案,但与移动互联网不同,智慧家庭至今 ...

  9. 移植Mplayer到OK6410开发板

    移植Mplayer到OK6410开发板 作者:vasage 项目需要,需要将Mplayer移植到开发板上,所以今天花了一下下午成功移植,其中参考很多文档,后发现许多文档陈旧,些许文档有少量错误,所以这 ...

随机推荐

  1. Cayley n顶点树数定理

    出处:http://blog.csdn.net/gongqian12345/article/details/7445573 今天遇到一个问题:在一个n阶完全图的所有生成树的数量为n的n-2次方,想了好 ...

  2. POJ 2992 Divisors (求因子个数)

    题意:给n和k,求组合C(n,k)的因子个数. 这道题,若一开始先预处理出C[i][j]的大小,再按普通方法枚举2~sqrt(C[i][j])来求解对应的因子个数,会TLE.所以得用别的方法. 在说方 ...

  3. Servlet3.0-使用注解定义Servlet

    我使用的开发环境:MyEclipse10+Tomcat7+JDK6. 开发Servlet3的程序需要一定的环境支持.Servlet3是Java EE6规范的一部分,MyEclipse10和Tomcat ...

  4. JS之事件(一)

    事件:交互 异步监听,不是JS引擎监听的 一.绑定 1.ele.onxxxx(eg:onclick) = function (e) { //回调函数/事件处理函数 } 兼容性很好,但同一个事件仅能绑定 ...

  5. QTP 参数化

    PS:方法内容是转的别人的,我们项目中只用到了方法三,主要用于将测试数据与业务分离,增强测试数据的可维护性. 方法一.DataTable方法 这是QTP提供的一种方法,也是最容易实现参数化的一种方式. ...

  6. volatile小记

    1.要使volatile变量提供理想的线程安全,必须同时满足以下两个条件: 1).对变量的写操作不依赖于当前值: 2).该变量没有包含在具有其他变量的不变式中. 第一个条件的限制使volatile变量 ...

  7. 一个字典通过dictionaryWithDictionary 他们的内存指针是不同的

    一个字典通过dictionaryWithDictionary 他们的内存指针是不同的  来自为知笔记(Wiz)

  8. yafeilinux.com的开源项目非常好的东西

    转自:http://www.yafeilinux.com/?page_id=9 声明:我们网站的资源可以自由下载,转载,但是不能用作商业用途.如有问题请联系我们www.yafeilinux.com . ...

  9. QT 多线程程序设计

    参考:http://www.cnblogs.com/hicjiajia/archive/2011/02/03/1948943.html http://mobile.51cto.com/symbian- ...

  10. Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

    原文:Codelab for Android Design Support Library used in I/O Rewind Bangkok session--Make your app fanc ...