经过几天的努力,终于把Hello China V1.76版的内核移植到基于Cortex-M3内核的STM32 chipset上。因为还希望进一步写一个USART驱动程序,因此详细的移植文档,预计一周之后能够发布出来。但内核已移植完毕,下面是大致的情况描述:

1、所有代码运行在previledge模式,不论用户线程还是异常处理程序,都使用MSP作为堆栈;

2、根据功能的裁剪情况,编译后的映像文件大概在10K到30K的样子。因为使用的是MDK 4.72评估版,最大支持32K二进制文件的编译,因此很多功能都裁剪掉了,比如文件系统支持、GUI等;

3、线程切换代码,跟x86实现的不一样。在x86上,分为线程内切换和中断上下文切换,但在STM32中,线程的切换统一在中断上下文(PendSV)中进行。大多数嵌入式操作系统都是这么做的;

4、实际上,跟硬件强相关的代码行数并不多,大概有150行左右的汇编代码(包括简单的BSP),同时有50行左右的C语言代码。这些代码量大约占Hello China V1.76版本内核的0.5%左右;

5、支持的线程数量、线程堆栈尺寸、支持的内存数量、同步对象数量、中断层级等,都是由目标系统的内存决定,无固定范围。这样可支持最大程度的伸缩性。

还有其它的一些技术细节情况,就不详细说明了,在即将发布的移植指南中将会详细描述。

Hello China定位为物联网操作系统,其内核也是按照物联网的需求进行设计和优化,同时也规划了大量针对物联网的特性,将在后续版本中实现。我们很清楚,如果是作为研究或者学术目的,封闭开发就足够了。但是要真正支撑行业发展、培育物联网应用生态圈,目前还远远不够,最欠缺的就是实际应用。因此,我们真诚的寻找应用合作伙伴,共同推动物联网操作系统的成熟,共同推动我国物联网产业的更快更健康的发展。

我个人认为,与互联网一样,物联网也必须秉承开放合作、互相包容、共同成长的文化,才能真正成功。因此,任何单位或个人,只要愿意在实际项目或实际产品中使用Hello China操作系统,就是我们的合作对象。如果能够找到合作的共同价值点,达成合作协议,不论最终结果如何,相信对双方都是进步和成长。

具体的合作条款和提供的服务,在这里不做限定。诸如提供技术支持、源代码永久免费使用和修改等基础条款,肯定是必备的。我个人更看重的, 合作代表认同,是一种对行业预期的认同,或者说对未来的认同。如果您也认为像Android操作系统对互联网的影响一样,物联网也需要一个基础的平台来承载其发展,聚集其能力,那么不要犹豫,我们一起合作吧,让我们一起构筑这个托起物联网产业腾飞的平台。

联系方式:QQ/微信:89007638,email:garryxin@gmail.com

现在的物联网,就像是大雨过后,地面上的一个一个的小水湾,如果有一个平台能够提升这些小水湾的水平高度,那么必然能够形成一个广阔的海洋。物联网操作系统,就是这样一个平台,或者平台的一部分。

对物联网操作系统的概念和Hello China操作系统的详细情况,请访问blog:blog.csdn.net/hellochina15

让我们共同构筑物联网起飞的平台:物联网操作系统Hello China寻求应用合作伙伴的更多相关文章

  1. 国内物联网平台(5):机智云IoT物联网云服务平台及智能硬件自助开发平台

    国内物联网平台(5)——机智云IoT物联网云服务平台及智能硬件自助开发平台 马智 平台定位 机智云平台是致力于物联网.智能硬件云服务的开放平台.平台提供了从定义产品.设备端开发调试.应用开发.产测.运 ...

  2. 智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台

    背景 从传统运维到容器化的 Docker Swarm 编排,从 Docker Swarm 转向 Kubernetes,然后在 Kubernetes 运行 SpringCloud 微服务全家桶,到最终拥 ...

  3. 自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案

    点击返回自学华为IoT物流网 自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案 1. 家庭中遇到的问题 2.1 华为智慧家庭概念的发展历程 2.2 华为智慧家庭的解决方案架构 智慧家庭主要 ...

  4. HC大会,华为联合合作伙伴发布一站式物联网IoT开发工具小熊派BearPi

    传统的物联网产品开发步骤复杂,涉及硬件开发.软件开发.云端开发等众多流程.而且产品的开发周期长.开发成本高.产品稳定性不佳.维护成本高.而物联网设备本身市场竞争激烈,价格低,设备更新迭代快,所以在保证 ...

  5. Device.js – 快速检测平台、操作系统和方向信息

    在 Web 项目中,有时候我们需要根据程序运行的环境采取特定操作.Device.js 是一个很小的 JavaScript 库,它简化了编写和平台,操作系统或浏览器相关的条件 CSS 或 JavaScr ...

  6. 自学华为IoT物联网_05 能源工业物联网常见问题及解决方案

    点击返回自学华为IoT物流网 自学华为IoT物联网_05 能源工业物联网常见问题及解决方案 1. 1 能源工业--油田业务面临的三大挑战 故障处理不及时: 部分油田开采难道大.机械故障较多.现场发生的 ...

  7. 检测设备平台,操作系统,方向 Javascript 库:Device.js

    Device.js 是一个可以让你检测设备的平台,操作系统和方向 JavaScript 库,它会自动在 <html> 标签添加一些设备平台,操作系统,方向相关的 CSS class,这样就 ...

  8. 国内物联网平台初探(五) ——机智云IoT物联网云服务平台及智能硬件自助开发平台

    平台定位 机智云平台是致力于物联网.智能硬件云服务的开放平台.平台提供了从定义产品.设备端开发调试.应用开发.产测.运营管理等覆盖智能硬件接入到运营管理全生命周期服务的能力. 机智云平台为开发者提供了 ...

  9. 以阿里IoT开发物联网和应用平台

    1. 链接物联网的概念 物联网(The Internet of Things,简称IOT)是指通过 各种信息传感器.射频识别技术.全球定位系统.红外感应器.激光扫描器等各种装置与技术,实时采集任何需要 ...

随机推荐

  1. 用JS判断两个数字的大小

    js中的var定义的变量默认是字符串,如果单纯的比较字符串的话,会出现错误,需要先转化为int类型在做比较. [备注:110和18在你写的程序中是18大的,因为 这两个数都是字符串,而1和1相等之后比 ...

  2. sublime test3 使用技巧

    sublimeText3使用技巧 常用快捷键 ctrl+d :选中光标处的文本单元,继续按ctrl+d选中相同文本单元 alt+F3 :功能和ctrl+d类似,用于批量修改相同文本 shift+↑ ↓ ...

  3. 前缀 树 背单词(Remember the Word,LA 3942)

    已哭瞎. 搞了2个多小时的错误居然是在  没有初始化............教训:每个例子一定要考虑到初始化问题.! 每个节点存了一个数组  该数组记录的有26个大小  0-25分别表示记录表示'a' ...

  4. Microsoft SQL Server 数据库 错误号大全

    panchzh :Microsoft SQL Server 数据库 错误号大全0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒 ...

  5. BZOJ 1012 最大数maxnumber

    Description 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度. 2. ...

  6. 如何隐藏DLL中,导出函数的名称?(转)

    如何隐藏DLL中,导出函数的名称?(转)   一.引言 很多时候,我们写了一个Dll,不希望别人通过DLL查看工具,看到我们的导出函数名称.可以通过以下步骤实现: 1. 在def函数中做如下定义: L ...

  7. 浮点数(double)的优势

    用 double 处理大数据 , 即使字符串位数超百位,同样可以用 sscanf 或 atof 来处理,却不会变成负数,原因是浮点数可以用指数表示,但精度会丢失,下面介绍利用这个性质解决的一些问题: ...

  8. preg_replace的用法

    <?php $str1 = "03/28/2015"; // 要替换成 2015-03-28 echo preg_replace("/([0-1][1-9])\/( ...

  9. OpenGL: 环境配置和图元的绘制

    前言 距离上一篇博客已经过去一个半月了,这段时间过得确实充实,虽然一大段时间泡在图书馆复习,但至少也能学到点东西.跨年晚和元旦一整天,全身心投入图形学小课设的编程,终于实现了老师要求的所有功能,回想起 ...

  10. 11-C语言指针

    目录: 一.指针 二.指针与数组 回到顶部 一.指针 1 内存被分为字节,每个字节有唯一地址,指针保存的是内存中的地址. 2 保存指针的变量,就叫指针变量,(保存地址) 3 声明一个指针变量 int ...