立创天空星GD32开发板 开源嵌入式组件移植测试 OneOS Lite移植测
移植目标硬件(开发板/芯片/模组)
OneOS Lite支持ARM Cortex M核芯片和RISC-V内核的芯片的移植,比如STM32 基于Cortex M核全系列、GD32 基于Cortex M核全列、NXP 基于Cortex M核全系列等。本教程将使用立创开发板GD32F407进行示例移植,其他 ARM Cortex M系列开发板和芯片移植方法类似。调试ARM Cortex M核还需要仿真器,如果您的开发板或者芯片模组没有板载仿真器,就需要连接外置的仿真器,如DAPLink。
OneOS Lite
OneOS Lite是中国移动针对物联网领域推出的轻量级操作系统,具有可裁剪、跨平台、低功耗、高安全等特点,支持ARM Cortex-A和 Cortex-M、MIPS、RISC-V等主流芯片架构,兼容POSIX、CMSIS等标准接口,支持Javascript、MicroPython等高级语言开发模式,提供图形化开发工具,能够有效提升开发效率、降低开发成本,帮助用户快速开发稳定可靠、安全易用的物联网应用。
OneOS Lite总体架构采用分层设计,主体由驱动、内核、组件、安全框架组成。采用一个轻量级内核加多个系统组件的模式,加上海量硬件的适配支持,使OneOS Lite 具备极高的可伸缩性与易用性。
OneOS系统特点
灵活裁剪:抢占式的实时多任务RTOS内核,支持多任务处理、软件定时器、信号量、互斥锁、消息队列、邮箱和实时调度等特性,RAM和ROM资源占用极小。可灵活裁剪,搭配丰富组件,适应不同客户需求。
跨芯片平台:应用程序可无缝移植,大幅提高软件复用率。支持的主流芯片架构有:ARM Cortex-A和Cortex-M、MIPS、RISC-V等。支持几乎所有的MCU和主流的NB-IOT、4G、WIFI、蓝牙通信芯片。
组件丰富:提供丰富的组件功能,如互联互通、端云融合、远程升级、室内外定位、低功耗控制等。同时提供开放的第三方组件管理工具,支持添加各类第三方组件,以便扩展系统功能。
低功耗设计:支持MCU和外围设备的功耗管理,用户可以根据业务场景选择相应低功耗方案,系统会自动采用相应功耗控制策略,进行休眠和调频调压,有效降低设备整体功耗。
安全设计:针对物联网设备资源受限、海量连接、网络异构等特点,在系统安全、通信安全、数据安全等方面提供多维度安全防护能力。
OneOS开发资料
-
OneOS源码开源地址
https://gitee.com/cmcc-oneos/OneOS
-
开发文档官网
https://os.iot.10086.cn/v2/doc/homePage
-
开发工具源码下载
https://os.iot.10086.cn/download/
-
开发工具OneOS_Cube
https://os.iot.10086.cn/download/tool
OneOS-GD32开发板测试
-
下载源码
git clone https://gitee.com/cmcc-oneos/OneOS.git
内核启动简单分析
内核启动主要有下面几个步骤:
1. 系统先从启动文件开始运行,然后进入 OneOS Lite的内核启动函数 os_kernel_init()和os_kernel_start();
2.os_kernel_init中调用k_run_init_call函数执行OS_INIT_LEVEL_PRE_KERNEL_1,进行内核启动前的第一阶段的初始化;
3. 初始化内核各模块,如tick队列,调度器,定时器等
4. 创建recycle,idle,timer,sys系统任务;
5.