概述

总是会被问道,得到源码了,我该如何上手?我想使用某某组件,我该如何快速把它给用起来?我没有板子,想先熟悉下代码,我该怎么办?我想在某块板子上把系统跑起来,我又该怎么办?等等,各种各种的问题。

当第一次面对不熟悉的东西,也许我们都会有着些许迷惑。而快速上手篇就是因解惑而生的,目的就是为了第一次拿到我们的OneOS-Lite时,开发者们心中能多一份从容与淡定。

初见OneOS-Lite

在用Keil模拟器运行 STM32F103 示例工程代码时,我们有必要先初步了解一下OneOS-Lite操作系统。进入到OneOS-Lite操作系统代码根目录下,我们可以看到有多个文件夹和文件,如下图:

各个目录或文件的作用描述见下表。

arch存放和 MCU(或 CPU )架构体系相关的代码。
components存放组件代码,可进行裁剪。
docs存放一些文档,如快速上手、开发工具使用等。
drivers存放驱动的抽象层代码和具体外设的驱动代码。
kernel存放内核代码,如任务管理及调度、任务间同步以及通信、内存管理等代码。
projects各种开发板的示例工程
scripts存放OneOS-Cube工具在编译构造时所需要的脚本文件。
_sidebar.mdLite版本文档索引
index.html本地文档网页浏览
KconfigMenuconfig配置文件,代码工程(如projects目录下的示例工程)中的Kconfig文件会引用此文件
SConscriptOneOS-Lite操作系统使用Scons构建工具时的根编译脚本,该脚本会引用其它目录的SConscript脚本,若在OneOS-Lite操作系统根目录增加新的代码目录,需要修改此文件。
LICENSELicense 授权说明。

代码&&文档

OneOS-Lite仓库,不仅仅是代码仓库,同时也是一份文档仓库。docs目录存放着快速上手、开发工具使用等文档。而在代码的目录下,也均放有相关的帮助手册README.md。这样放置的好处在于,在拉取代码的同时,文档也一并被拉取。阅读代码的同时,可以查阅文档,辅助代码开发,事半功倍有奇效。

根目录下的_coverpage.md_sidebar.mdindex.html则是帮助我们用于生成网页。使用方法可以查看根目录的README.md

开发第一步

拿到代码,开发的第一步就是,编译运行!这时,我们需要进入projects目录,这里存放着各种开发板的工程项目。如果你有开发板,你可以在里面选择对应的开发板工程项目,进入其中。这里以我们的万耦开发板stm32l475-cmcc-oneos为例。

使用OneOS cube(在使用该工具时,记得先安装好噢),输入命令menuconfig进行配置(如果对配置不熟悉,可以先使用默认配置),最后输入命令scons进行编译。

如果你使用gcc,将编译生成elf文件,你可以在根目录下的out文件夹中找到她。

如果你使用mdk,你可以使用命令scons --ide=mdk5来生成mdk的项目工程,然后使用mdk进行编译。

如果你没有开发板,建议使用stm32f103rc,来让Keil模拟STM32F103,以此来熟悉我们的rtos物联网系统。详情可见Keil模拟STM32F103体验

03-05 23:40