工欲善其事必先利其器,OneOS操作系统也有一个共同战斗的“小伙伴”:OneOS-Cube,它能够更好的帮助开发者快速上手OneOS,有效地提高开发效率,降低开发难度,下面就让我们一起来认识一下OneOS-Cube吧~
-
Cube 简介
OneOS-Cube是针对物联网操作系统OneOS开发的一套windows辅助开发环境。它以开源编译构造工具为基础构建,以简单易用为设计宗旨,尽可能的缩短普通用户的工具学习时间。通过简单的几条命令,用户即可完成系统配置、代码编译、第三方集成开发环境(如KEIL等)工程生成等任务。
OneOS-Cube具备如下特点:
去环境依赖,用户只需要下载完整的工具包后,解压即可直接使用,而不需要对本机环境进行特殊配置;
使用简单,OneOS-Cube将各个开源资源有机整合,使用户简单输入指令即可完成系统配置、编译、项目构造等任务,而不需要费时了解各个组件的内部实现;
风格通用,在命令设计与操作习惯上尽量保持与开源社区常用的风格一致;
易于维护,本方案充分利用已有的开源资源进行搭建,实现简单,也方便后期的升级维护。
OneOS-Cube是独立于OneOS源码之外的,为OneOS服务的开发套件。它独立于OneOS的源码管理,二者之间不存在路径依赖关系。
-
Cube 基本构成
OneOS-Cube以已有的开源免费工具为基础搭建。使用Cmder为用户命令行,有机的整合了Kconfig、MinGW及python脚本等构建。
- 命令行环境Cmder: Cmder是一款免费的DOS系统仿真器,体积小巧,界面清爽,支持多标签操作,兼容dos原有的指令。
- 系统配置工具menuconfig: 即linux menuconfig的python实现版本,使用方法与linux menuconfig基本一致。遵循兼容LINUX的Kconfig语法,用户可以方便的沿用以前的kconfig配置文件对代码进行宏管理。
- Python环境与.py文件: 主要目的是将menuconfig, MinGW等有机的整合到Cmder中,支持生成Keil、Eclipse等可直接使用的项目文件。
- 交叉编译工具链MinGW:MinGW是Minimalist GNUfor Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。
OneOS-Cube将上面的组件有机的整合在了一起,用户只需要在命令行输入简单的指令,即可方便的进行系统配置,代码编译与第三方IDE工程制作。
-
Cube 安装及使用
- OneOS-Cube工具安装
直接点击下载的OneOS-Cube工具进行安装,安装路径不支持含有中文和空格字符。
https://gitee.com/cmcc-oneos/one-os-cube
https://os.iot.10086.cn/download/tool
- OneOS-Cube工具使用方法
进入到代码工程目录,任意空白处点击右键,再找到“OneOS_Cube”执行,即可打开OneOS-Cube的命令行操作界面。
这样OneOS-Cube成功启动了。
3. OneOS-Cube常用指令
OneOS-Cube常用的用户指令非常简单,常用指令简单介绍如下:
在OneOS 3.0及以上版本使用(OneOS-Cube 2.0.3版本才支持OneOS 3.0哦~):
命令 |
说明 |
oos project |
创建工程命令,提供菜单交互环境创建工程 |
oos config |
系统配置命令,提供菜单交互环境对系统功能宏进行控制,宏配置结果自动保存到oneos_config.h文件中 |
oos build |
代码编译命令,将根据编译配置文件的描述进行代码编译 |
oos clean |
清理工程命令,对前期编译生成的中间文件和二进制结果文件进行删除 |
oos init -i XXX |
生成IDE工程命令,其中"XXX"代表目标IDE环境,具体支持的IDE参考oos help init命令说明。例如生成Keil工程:oos init -i keil |
oos pack |
第三方组件操作命令,能够进行组件的上传、下载、搜索等 |
oos |
查看oos命令选项说明 |
在OneOS 2.4及以下版本使用:
命令 |
说明 |
project |
创建工程命令,提供菜单交互环境创建工程 |
menuconfig |
系统配置命令,提供菜单交互环境对系统功能宏进行控制,宏配置结果自动保存到oneos_config.h文件中 |
scons |
代码编译命令,将根据SConstruct、SConscript脚本的描述进行代码编译 |
scons --ide=XXX |
制作IDE工程命令,其中"XXX"代表目标IDE环境,具体支持的IDE参考scons --help命令说明。例如生成Keil工程:scons --ide=MDK |
scons --help |
查看scons命令扩展选项说明 |
OneOS 3.0代码及OneOS-Cube 2.0.3安装包已全部上线码云及OneOS官网,欢迎大家前往下载使用。
OneOS 3.0:
https://gitee.com/cmcc-oneos/OneOS
OneOS-Cube 2.0.3:
https://gitee.com/cmcc-oneos/one-os-cube
https://os.iot.10086.cn/download/tool