下载吧 其他软件

分类分类

Huawei LiteOS(华为物联网操作系统)

Huawei LiteOS(华为物联网操作系统)

v5.0.0 官方版

大小:88.3 MB 更新:2024/12/22

类别:其他软件系统:WinAll

立即下载

  Huawei LiteOS是一款功能强大、简单易用的轻量级物联网操作系统,是由华为研发推出的面向物联网领域开发的一个基于实时内核的轻量级操作系统的程序源码,任何用户都可免费下载进行使用,当前物联网行业应用中拥有MobileCam、智能停车、智能居家、智能水表、智能照明等多种需要通过平台进行互联并在云端进行控制、管理和大数据分析;Huawei LiteOS支持LiteOS端云互通功能,可以根据传感器及时判断天气状况、照明亮度等,策略可动态设定,该软件是轻量级物联网操作系统,物的智能化使能平台,欢迎大家下载进行使用。

Huawei LiteOS(华为物联网操作系统)

软件功能

  1.北向应用

  即应用程序,调用平台提供的API接口,完成设备注册、数据展示、设备控制等功能;

  2.设备Profile文件

  上传到IoT平台之上的设备描述文件;

  3.编解码插件

  上传到IoT平台之上的编解码上传数据和下发命令的程序接口;

  4.南向设备

  基于LiteOS的数据处理设备,调用AgentTiny提供的接口实现与云平台的数据交互,或者NB-IoT模组与平台进行数据交互;

软件特色

  超轻量技术基因

  创新式系统设计,可最大限度降低系统功耗,在特定场景下,能减少60%功耗开销

  领域性软件方案

  提供E2E物联网领域性技术栈,快速构建不同应用场景下的TurnKey解决方案

  可复制商用实践

  复制华为在消费者、运营商和企业领域成功商业实践和优秀经验,助力合作伙伴商业成功

  接入无关(任意设备、任意网络、多协议适配):

  Huawei LiteOS预集成AgentTiny简化了各类终端厂家的开发,屏蔽各种复杂设备接口,实现终端设备的快速接入,真正做到给客户提供端到端的物联网基础平台,让客户聚焦于自身的业务;

  更快的 TTM,产品快速上市;

  端云一体化解决方案,超低成本完成开发与运维,一站式接入最快7天发布上线,开发者社区与IoT集成认证实验室,帮助您快速完成产品的开发与调试、认证与发布。

软件优势

  1s快速启动

  通过Huawei LiteOS低功耗特性,

  实现电池供电工作,适用于室外和身体佩戴使用场景。

  通过Huawei LiteOS智能休眠、快速唤醒等特性,实现省电、事件快速响应。4G无线连接及传输,

  支持运动DV场景视频直播。

  即插即用、超长待机

  车辆检测终端设备需要在无需布线、安装简单的条件下快速部署,并且在长达数年时间内无需人工干预就能持续工作,并完成固件、算法、应用更新升级;

  设备持续低成本智能设备部署规模将呈现指数级增长,单设备成本需要持续降低,在支撑更多业务能力的基础上,实现整体的成本可控;

  业务可持续创新

  终端设备需要支持新增传感设备、新增传感算法、新增业务特性的快速部署,以支持停车业务的创新,以适应不断增长的用户诉求和更加智能的体验。

  更简单的体验

  Huawei LiteOS 通过接管手机传感设备(例如屏幕)等,实现手机传感识别与智能家居互联互通操作对接,从而直接可以在手机灭屏等情况下直接对家庭其他设备进行操作,在结合手机智能场景感知等特性,可以做到更加简洁的智能化操作体验。

  更实时的体验

  Huawei LiteOS 通过从操作系统层、网络连接协议层等多个层面优化互联互通协议,一方面实现设备与设备通信更加实时、达到用户操作“零”等待的体验诉求,另外一方面确保连接的更加可靠和通畅,减少用户操作出现“卡”、“顿”等问题。

  系统部件精简

  当前大部分智能水表都使用独立的 MCU 运行自己的水表算法和应用,在增加数据传输芯片后(比如 NB-IoT 芯片),如何有效将数据处理和数据传输共芯片,减少电源消耗单元成为一个新的挑战;

  系统应用轻量

  在同样的业务功能下,简化软件设计、实现高效的业务算法、降低软件复杂度,实现更低功耗的 CPU 开销、更小内存使用量、更少的存储空间,并最终实现整体系统的低功耗目标,这个对操作系统等基础软件平台形成一个新的挑战。

  组网规模

  当前业界短距 Mesh 组网规模大概在几十到两三百节点左右,对于整个城市路灯数量来说,单个组网规模还需要进一步扩大,并确保该组网规模内连接的可靠性和数据的传递的低时延,从而降低整体运维成本和提升城市路灯管理规模;

  多厂商集成

  不同的芯片厂商和路灯业务之间能够快速集成,需要操作系统确保实时多任务框架简化采集和控制任务的实现,帮助加速路灯应用的集成,通过标准应用开发接口帮助应用无缝迁移到未来新的处理器。

软件概述

  从系统的角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。

  Huawei LiteOS的任务模块可以给用户提供多个任务,实现了任务之间的切换和通信,帮助用户管理业务程序流程。这样用户可以将更多的精力投入到业务功能的实现中。

  Huawei LiteOS是一个支持多任务的操作系统。在Huawei LiteOS中,一个任务表示一个线程。

  Huawei LiteOS中的任务是抢占式调度机制,同时支持时间片轮转调度方式。

  高优先级的任务可打断低优先级任务,低优先级任务必须在高优先级任务阻塞或结束后才能得到调度。

  Huawei LiteOS的任务一共有32个优先级(0-31),最高优先级为0,最低优先级为31。

  任务状态

  Huawei LiteOS系统中的每一任务都有多种运行状态。系统初始化完成后,创建的任务就可以在系统中竞争一定的资源,由内核进行调度。

  任务状态通常分为以下四种:

  就绪(Ready):该任务在就绪列表中,只等待CPU。

  运行(Running):该任务正在执行。

  阻塞(Blocked):该任务不在就绪列表中。包含任务被挂起、任务被延时、任务正在等待信号量、读写队列或者等待读写事件等。

  退出态(Dead):该任务运行结束,等待系统回收资源。

  图1 任务状态示意图

Huawei LiteOS(华为物联网操作系统)

  任务状态迁移说明:

  就绪态→运行态:

  任务创建后进入就绪态,发生任务切换时,就绪列表中最高优先级的任务被执行,从而进入运行态,但此刻该任务依旧在就绪列表中。

  运行态→阻塞态:

  正在运行的任务发生阻塞(挂起、延时、获取互斥锁、读消息、读信号量等待等)时,该任务会从就绪列表中删除,任务状态由运行态变成阻塞态,然后发生任务切换,运行就绪列表中剩余最高优先级任务。

  阻塞态→就绪态(阻塞态→运行态):

  阻塞的任务被恢复后(任务恢复、延时时间超时、读信号量超时或读到信号量等),此时被恢复的任务会被加入就绪列表,从而由阻塞态变成就绪态;此时如果被恢复任务的优先级高于正在运行任务的优先级,则会发生任务切换,将该任务由就绪态变成运行态。

  就绪态→阻塞态:

  任务也有可能在就绪态时被阻塞(挂起),此时任务状态会由就绪态转变为阻塞态,该任务从就绪列表中删除,不会参与任务调度,直到该任务被恢复。

  运行态→就绪态:

  有更高优先级任务创建或者恢复后,会发生任务调度,此刻就绪列表中最高优先级任务变为运行态,那么原先运行的任务由运行态变为就绪态,依然在就绪列表中。

  运行态→退出态

  运行中的任务运行结束,内核自动将此任务删除,任务状态由运行态变为退出态。

  阻塞态→退出态

  阻塞的任务调用删除接口,任务状态由阻塞态变为退出态。

  任务ID

  任务ID,在任务创建时通过参数返回给用户,作为任务的一个非常重要的标识。用户可以通过任务ID对指定任务进行任务挂起、任务恢复、查询任务名等操作。

  任务优先级

  优先级表示任务执行的优先顺序。任务的优先级决定了在发生任务切换时即将要执行的任务。在就绪列表中的最高优先级的任务将得到执行。

  任务入口函数

  每个新任务得到调度后将执行的函数。该函数由用户实现,在任务创建时,通过任务创建结构体指定。

  任务控制块TCB

  每一个任务都含有一个任务控制块(TCB)。TCB包含了任务上下文栈指针(stack pointer)、任务状态、任务优先级、任务ID、任务名、任务栈大小等信息。TCB可以反映出每个任务运行情况。

  任务栈

  每一个任务都拥有一个独立的栈空间,我们称为任务栈。栈空间里保存的信息包含局部变量、寄存器、函数参数、函数返回地址等。任务在任务切换时会将切出任务的上下文信息保存在自身的任务栈空间里面,以便任务恢复时还原现场,从而在任务恢复后在切出点继续开始执行。

  任务上下文

  任务在运行过程中使用到的一些资源,如寄存器等,我们称为任务上下文。当这个任务挂起时,其他任务继续执行,在任务恢复后,如果没有把任务上下文保存下来,有可能任务切换会修改寄存器中的值,从而导致未知错误。

  因此,Huawei LiteOS在任务挂起的时候会将本任务的任务上下文信息,保存在自己的任务栈里面,以便任务恢复后,从栈空间中恢复挂起时的上下文信息,从而继续执行被挂起时被打断的代码。

  任务切换

  任务切换包含获取就绪列表中最高优先级任务、切出任务上下文保存、切入任务上下文恢复等动作。

  运作机制

  Huawei LiteOS任务管理模块提供任务创建、任务删除、任务延时、任务挂起和任务恢复、更改任务优先级、锁任务调度和解锁任务调度、根据任务控制块查询任务ID、根据ID查询任务控制块信息功能。

  在任务模块初始化时,系统会先申请任务控制块需要的内存空间,如果系统可用的内存空间小于其所需要的内存空间,任务模块就会初始化失败。如果任务初始化成功,则系统对任务控制块内容进行初始化。

  用户创建任务时,系统会将任务栈进行初始化,预置上下文。此外,系统还会将“任务入口函数”地址放在相应位置。这样在任务第一次启动进入运行态时,将会执行“任务入口函数”。

相关文章
  • 最新排行
  • 最热排行
  • 评分最高
其他软件排行榜

点击查看更多

点击查看更多

点击查看更多