在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. git的安装使用和代码自动部署

    1.安装 http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html http://www.cnblogs.com/zhcncn ...

  2. Mime Types

    Mime Types 1.http://www.freeformatter.com/mime-types-list.html 2.http://www.webmaster-toolkit.com/mi ...

  3. PHP使用SOAP调用.net的WebService数据

    需要和一个.net系统进行数据交换,对方提供了一个WebService接口,使用PHP如何调用这个数据呢,下面就看看使用SOAP调用的方法吧 这个与一般的PHP POST或GET传值再查库拿数据的思路 ...

  4. Codeigniter 利用加密Key(密钥)的对象注入漏洞

    http://drops.wooyun.org/papers/1449 原文链接:http://www.mehmetince.net/codeigniter-object-injection-vuln ...

  5. python--httplib模块使用

    httplib是一个相对底层的http请求模块,其上有专门的包装模块,如urllib内建模块,goto等第三方模块,但是封装的越高就越不灵 活,比如urllib模块里请求错误时就不会返回结果页的内容, ...

  6. lintcode:带环链表

    带环链表 给定一个链表,判断它是否有环. 解题 定义两个指针p1 p2 p1每次向前走一步 p2每次向前走两步 当p2能赶上p1的时候说明有环 /** * Definition for ListNod ...

  7. 6 tips for recovering from a flop

    6 tips for recovering from a flop职场没有失败:6招走出工作失误阴影"We all make mistakes, if we're going to lear ...

  8. React 万能的函数表达式

    一.语法简介 表达式可以以下两种方法, (1)(function A(){})(this),(this)参数在函数外面 (2)(function B(){}(this)),(this)参数在函数里面 ...

  9. Keil 4.7a版本问题&Jlink Clone问题

    听PP说Keil 4.7A新出,支持代码自动补全.激动之至,keil官网急填,下载安装.  问题即刻遇见①,电脑蓝屏,安装包损坏.当下载安装包未下载完时,续传安装包没用了.还是重下载吧,免得浪费时间. ...

  10. linux 打开文件数 too many open files 解决方法

    linux 打开文件数 too many open files 解决方法 too many open files 出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值. 查看每个用户 ...