OneOS-Cube是针对物联网操作系统OneOS开发的一套windows辅助开发环境。它以开源编译构造工具为基础构建,以简单易用为设计宗旨,尽可能的缩短普通用户的工具学习时间。通过简单的几条命令,用户即可完成:系统配置,代码编译,第三方集成开发环境(如KEIL等)工程生成等任务。
OneOS-Cube具备如下特点:
- 去环境依赖,用户只需要下载完整的工具包后,解压即可直接使用,而不需要对本机环境进行特殊配置;
- 使用简单,OneOS-Cube将各个开源资源有机整合,使用户简单输入指令即可完成系统配置、编译、项目构造等任务,而不需要费时了解各个组件的内部实现;
- 风格通用,在命令设计与操作习惯上尽量保持与开源社区常用的风格一致;
- 易于维护,本方案充分利用已有的开源资源进行搭建,实现简单,也方便后期的升级维护;
OneOS-Cube是独立于OneOS源码之外的,为OneOS服务的开发套件。它独立于OneOS的源码管理,二者之间不存在路径依赖关系。
跟RT-Thread的ENV工具类似。
基本构成
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工程制作。
常用指令
OneOS-Cube常用的用户指令非常简单,常用指令简单介绍如下:
在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命令选项说明
首先进入源码的project目录(必须这个目录,不能进入bsp目录):
然后输入oos project命令,将出现图形化配置界面生成工程:
保存退出后输入oos build命令编译项目: