AliOS Things 组件系统(uCube)

简介: AliOS Things 是阿里巴巴提供的物联网操作系统,可以在不同的设备上运行不同的功能,甚至相同的设备运行不同的功能,AliOS Things 基于组件管理: 1、 组件功能单一,复用组件提供的功能,比如通道、升级等功能。

AliOS Things 是阿里巴巴提供的面向 IoT 领域、嵌入式物联网操作系统,拥有数百个组件,同时成指数级增长。组件实现了成千上万个业务,如何有效管理组件,使 AliOS Things 成为组件化操作系统,成为迫在眉睫的任务。

组件

组件是 AliOS Things 功能单元,以目录的方式组织。组件包含源码、头文件、MakeFile 文件,Makefile 里面定义组件的编译规则:组件名、头文件、源码、组件依赖关系。AliOS Things 组件模型,提供了:

1、组件自身保持高内聚,低耦合,功能高度可复,比如kernel、mesh、id2等组件。 

2、组件之间任意组合,业务按需裁剪,比如芯片移植关注kernel组件,而业务开发需要连接、安全等组件。

不同的组件提供不同的功能,而组件之间相互融合,如同叶子组成树木、树木组成森林,构成整个 AliOS Things 组件生态。有过 Java 开发经验的同学,对 Maven 应该不陌生,Maven 作为 Java 的项目构建和管理工具,将项目过程规范化、自动化、高效化及强大的扩展性,uCube 希望在 AliOS Thinngs 上实现 Maven 的功能,并满足 IoT 场景下的特殊需求。

编译体系

在介绍 uCube 之前,先介绍 AliOS Things 编译系统。AliOS Things 使用 Makefile  组织源码和依赖,app@board表示编译目标,app 指定业务代码,board 指定硬件板子信息,以 aos make helloworld@mk3060为例,编译步骤如下

1、解析参数,拆分成 应用 helloworld和板子 mk3060 两部分。

2、递归查找 helloworld 应用依赖的组件。

3、递归查找 mk3060 硬件板子依赖的组件。

4、合并2、3两步找到的所有组件并生成每个组件编译规则。

5、编译每个组件,链接组件生成最后的image。

uCube 功能模块

uCube 主要功能有:

1、编译系统:代码编译,Image下载、调试

2、模板工程:生成模板工程。

3、组件管理:组件查找、添加、删除等,组件依赖关系处理、版本管理。

4、IDE支持

5、组件认证:形成组件规范,验证组件功能。

TB1OJqLmwvD8KJjSsplXXaIEFXa-1650-740.png

uCube 功能模块

uCube 流程

uCube 项目流程为:

1、全局环境配置:工具链、AliOS Things源码目录

2、根据目标,建立工程,比如hellowo@mk3060

3、查找组件,确认需要添加的组件。

4、在添加的功能组件提供的API接口上做开发,实现功能

5、编译目标,烧写到板子上验证测试


TB1urHVmv6H8KJjy0FjXXaXepXa-750-1010.png

uCube项目流程

小结

uCube 目前解决了 AliOS Things:

1、配置系统:全局环境配置及对当个项目配置,形成统一配置管理系统

2、组件管理:组件查找包括本地组件查找和通过URL的组件查找,组件依赖关系处理,组件添加删除等功能。

3、编译系统:根据目标,依赖组件的信息,最终编译出可执行文件。

uCube 将会在 AliOS Things Sutdio IDE 实现功能可视化,同时加强代码管理、版本等功能,添加组件验证等机制,确保组件正常良好的环境。uCube 希望通过组件魔方,形成组件生态,满足 IoT 数亿设备上的业务需求。


军礼
+关注
目录
打赏
0
0
0
0
1428
分享
相关文章
3_1_2 AliOS Things 编译工具及编译配置系统|学习笔记
快速学习3_1_2 AliOS Things 编译工具及编译配置系统。
434 0
3_1_2 AliOS Things 编译工具及编译配置系统|学习笔记
AliOS Things 3.3.0 : A2SA组件介绍
A2SA是Advanced AliOS Things Sound Architucture的缩写,是AliOS Things音频系统服务框架,包括音频驱动层、音频服务接口层以及音频插件管理等。
AliOS Things 3.3.0 : A2SA组件介绍
结合AliOS Things谈嵌入式系统通用问题定位方法(2):内核相关基础
内核提供的任务创建接口,会存在参数指定当前任务创建完立即运行还是需要显示调用start运行,需要注意。如果在创建任务时指定了立即执行,而在创建任务后去设置任务参数,可能是不生效的。(尤其posix的pthread接口经常遇到这种问题)
结合AliOS Things谈嵌入式系统通用问题定位方法(2):内核相关基础
结合AliOS Things谈嵌入式系统通用问题定位方法(1):CPU相关基础
本文着重从问题定位的角度来介绍如何定位嵌入式软件系统中的问题,并结合AliOS Things提供的部分维测手段来介绍。
结合AliOS Things谈嵌入式系统通用问题定位方法(1):CPU相关基础
【直播回放已上传】AliOS Things 组件玩法大爆炸,提需求有礼!!
1、2020年6月16日(周二)钉钉群直播,为您全面介绍AliOS Things组件能力。 2、AliOS Things产品研发团队喊你提需求啦,102个AOS-CUBE Cheat Sheet鼠标垫大放送!
【直播回放已上传】AliOS Things 组件玩法大爆炸,提需求有礼!!
AliOS Things 3.3.0 : http组件介绍
HTTP(HyperText Transfer Protocol)是一款用于传输超文本的应用层协议。
AliOS Things 3.3.0 : http组件介绍
AliOS Things 3.3.0 : KV组件介绍
对于嵌入式系统应用中,频繁使用的参数存储,过程变量存储等操作,AliOS-Things为用户提供了一种更加直观易于理解的基于键值对的存储方式,如报警温度=50度,可以通过定义一个键值对:{“AlarmTemp”:50}来进行存储。
AliOS Things 3.3.0 : KV组件介绍
AliOS Things KV组件的写平衡特性
KV组件的写平衡(磨损平衡)特性就是通过异地更新、垃圾回收等策略来平衡flash介质各个存储区块的磨损程度,以避免某些“特定”存储区块因过度使用而形成坏区,从而延长flash的使用寿命。
4284 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等