中移OneOS开发板学习入门

2024-02-08 12:59

本文主要是介绍中移OneOS开发板学习入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

中移OneOS开发板学习入门

做为一个专业的点灯爱好者,学习任何开发板开始前都是先找好学习资料,然后在学习OneOS的内核部分,外设部分,系统组件等.

OneOS

OneOS是物联网领域推出的轻量级操作系统,具有可裁剪、跨平台、低功耗、高安全等特点,支持ARM Cortex-A和 Cortex-M、MIPS、RISC-V等主流芯片架构,兼容POSIX、CMSIS等标准接口,支持Javascript、MicroPython等高级语言开发模式,提供图形化开发工具,能够有效提升开发效率、降低开发成本,帮助用户快速开发稳定可靠、安全易用的物联网应用。

OneOS在线开发文档

OneOS架构

OneOS总体架构采用分层设计,主体由驱动、内核、组件、安全框架组成。采用一个轻量级内核加多个系统组件的模式,加上海量硬件的适配支持,使OneOS具备极高的可伸缩性与易用性。操作系统整体架构如下图:

内核

极简的设计思路,在减少资源开销的情况下兼具优秀的实时响应特征,支持多任务管理调度,提供丰富的IPC策略,如信号量、互斥量、消息队列、邮箱等,提供了高效可靠的RTOS内核支撑。

驱动

提供丰富的BSP板级支撑,适配超千款MCU,支持ARM、RISC-V、MIPS、Xtensa、C-Sky等主流架构,通过抽象设计,将所有外设以设备方式进行管理,极大提升了应用开发的便利性。

组件

提供包括网络协议、云平台接入、远程升级、文件系统、日志系统、测试框架、调试工具等众多通用服务能力,也包括高精度定位等专业应用领域的完整解决方案。由于采用了模块化的设计,因此各个组件相互独立,耦合性低,易于灵活裁剪。

安全管理框架

终端侧基于信任根实现轻量级的主动检测和可信度量,提供轻量级的密码算法库及轻量级密钥管理与密钥协商机制,实现端到端安全通信。平台侧基于大数据态势感知技术,帮助用户建立端侧安全画像,根据应用场景制定不同的安全管理策略。

OneOS特点

灵活裁剪

抢占式的实时多任务RTOS内核,支持多任务处理、软件定时器、信号量、互斥锁、消息队列、邮箱和实时调度等特性,RAM和ROM资源占用极小。可灵活裁剪,搭配丰富组件,适应不同客户需求。

跨芯片平台

应用程序可无缝移植,大幅提高软件复用率。支持的主流芯片架构有:ARM Cortex-A和Cortex-M、MIPS、RISC-V等。支持几乎所有的MCU和主流的NB-IOT、4G、WIFI、蓝牙通信芯片。

组件丰富

提供丰富的组件功能,如互联互通、端云融合、远程升级、室内外定位、低功耗控制等。同时提供开放的第三方组件管理工具,支持添加各类第三方组件,以便扩展系统功能。

易于开发

一站式开发工具OneOS Studio可用于对内核和组件的功能进行配置,支持组件自由裁剪,让系统按需进行积木式构建,同时可帮助用户跟踪调试,快速定位问题。

低功耗设计

支持MCU和外围设备的功耗管理,用户可以根据业务场景选择相应低功耗方案,系统会自动采用相应功耗控制策略,进行休眠和调频调压,有效降低设备整体功耗。

安全设计

针对物联网设备资源受限、海量连接、网络异构等特点,在系统安全、通信安全、数据安全等方面提供多维度安全防护能力。

OpenCPU开发框架

支持通信SoC芯片OpenCPU开发模式,为开发者带来屏蔽复杂通信芯片差异的高效开发方式,提供统一开发体验。同时,在同样的业务功能下,减少了设备额外MCU开销和存储器的使用,大幅降低设备成本。

开发板推荐

万耦创世

万耦开发板,是移动推出的基于STM32,NXP等芯片的一个系列开发板,其由不同处理核心的核心板与万耦底板组成。万耦底板是通用的,核心板当前有STM32L475VGT6、STM32F401VET6与NXPLPC55S69三个型号,用户可根据需求选择不同的核心板。

万耦天工入门

万耦天工STM32F103

专为初学开发人员设计。其实就是正点原子的STM32F103开发板,学习使用教程可以参考正点原子的使用教程。

中国移动OneOS开发板开箱测评

2022年中移与正点原子推出OneOS学习教程。

OneOS入门内核系列课程

jnLoVJ.jpg

OneOS入门设备驱动系列课程

jnL75R.jpg

OneOS入门组件系列课程

jnLOxK.jpg

万耦启物

万耦启物开发板主控芯片为(国产)灵动MM32F3277G8P,板载AHT20温湿度传感器,板载ESP8266 WiFi模块,便捷接入互联网,板载USB-TTL接口,便捷与PC连接进行串口通讯。专门为初学者设计,提供全面的基础硬件能力,同时涵盖手把手操作指导教程,方便开发者可以尽快了解OneOS系统的魅力。

硬件资源 接口丰富 上手简单

jnbhWV.jpg

万耦启物开发板学习资料

MM32学习

灵动微电子成立于 2011 年,是中国本土通用 32 位 MCU 产品及解决方案供应商。灵动微电子的 MCU 产品以 MM32 为标识,基于 Arm Cortex-M 系列内核,自主研发软硬件和生态系统。

灵动MM32系列MCU手册例程Pack包下载指南
灵动微电子MM32 MCU 使用分享 视频教程
逐飞科技开源库

万耦启物开发板是逐飞科技设计生产的一块物联网开发板。所以在学习使用时,可以寻找相关的开源资料.

逐飞科技 MM32F327XG8P 开源库
万耦启物开发板例程资料

jnb4zT.jpg

开发板例程资料合集提取码:8f9u
开发板支持MDK-Keil开发

启物开发板资料提供了Keil的Pack包,使用Keil开发32位芯片,对于大多数开发者都有一定的基础,能够很快的上手。

jnqm6S.jpg

工程模板

jnqf7d.jpg

OneOS官方例程

jnLe41.jpg

/************************************************************************************************************************** Copyright (c) 2020, China Mobile Communications Group Co.,Ltd.** Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with* the License. You may obtain a copy of the License at**     http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the* specific language governing permissions and limitations under the License.** @file        main.c** @brief       User application entry** @revision* Date         Author          Notes* 2020-02-20   OneOS Team      First Version************************************************************************************************************************/#include <board.h>
#include <timer/clocksource.h>
static void user_task(void *parameter)
{int i = 0;for (i = 0; i < led_table_size; i++){os_pin_mode(led_table[i].pin, PIN_MODE_OUTPUT);}while (1){for (i = 0; i < led_table_size; i++){os_pin_write(led_table[i].pin, led_table[i].active_level);os_task_msleep(200);os_pin_write(led_table[i].pin, !led_table[i].active_level);os_task_msleep(200);}}
}int main(void)
{os_task_t *task;task = os_task_create("user", user_task, NULL, 1024, 3);OS_ASSERT(task);os_task_startup(task);return 0;
}

这篇关于中移OneOS开发板学习入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/691111

相关文章

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

史上最全MybatisPlus从入门到精通

《史上最全MybatisPlus从入门到精通》MyBatis-Plus是MyBatis增强工具,简化开发并提升效率,支持自动映射表名/字段与实体类,提供条件构造器、多种查询方式(等值/范围/模糊/分页... 目录1.简介2.基础篇2.1.通用mapper接口操作2.2.通用service接口操作3.进阶篇3

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三