[MM32生态]基于MM32F5270开发板和cube工具实现RTOS OneOS工程

1.简介
1.1 OneOS简介
OneOS是中国移动针对物联网领域推出的轻量级操作系统,具有可裁剪、跨平台、低功耗、高安全等特点,支持ARM Cortex-A Cortex-MMIPSRISC-V等主流芯片架构,兼容POSIXCMSIS等标准接口,支持JavascriptMicroPython等高级语言开发模式,提供图形化开发工具,能够有效提升开发效率、降低开发成本,帮助用户快速开发稳定可靠、安全易用的物联网应用。OneOS 代码遵循 Apache 2.0 license 开源协议。OneOS总体架构采用分层设计,主体由驱动、内核、组件、安全框架组成。采用一个轻量级内核加多个系统组件的模式,加上海量硬件的适配支持,使OneOS具备极高的可伸缩性与易用性。操作系统整体架构如下图:

36447649bd027db90e.png (501.74 KB )

下载附件

2023-6-28 14:16 上传



1.2 OneOS features
 

  • 灵活裁剪:抢占式的实时多任务RTOS内核,支持多任务处理、软件定时器、信号量、互斥锁、消息队列、邮箱和实时调度等特性,RAM和ROM资源占用极小。可灵活裁剪,搭配丰富组件,适应不同客户需求。
     
  • 跨芯片平台:应用程序可无缝移植,大幅提高软件复用率。支持的主流芯片架构有:ARM Cortex-A和Cortex-M、MIPS、RISC-V等。支持几乎所有的MCU和主流的NB-IOT、4G、WIFI、蓝牙通信芯片。
     
  • 组件丰富:提供丰富的组件功能,如互联互通、端云融合、远程升级、室内外定位、低功耗控制等。同时提供开放的第三方组件管理工具,支持添加各类第三方组件,以便扩展系统功能。
     
  • 易于开发:一站式开发工具OneOS Studio可用于对内核和组件的功能进行配置,支持组件自由裁剪,让系统按需进行积木式构建,同时可帮助用户跟踪调试,快速定位问题。
     
  • 低功耗设计:支持MCU和外围设备的功耗管理,用户可以根据业务场景选择相应低功耗方案,系统会自动采用相应功耗控制策略,进行休眠和调频调压,有效降低设备整体功耗。
     
  • 安全设计:针对物联网设备资源受限、海量连接、网络异构等特点,参考等保2.0及《GB/T 36951-2018 信息安全技术 物联网感知终端应用安全技术要求》等规范,在系统安全、通信安全、数据安全等方面提供多维度安全防护能力。
     
  • OpenCPU开发框架:支持通信SoC芯片OpenCPU开发模式,为开发者带来屏蔽复杂通信芯片差异的高效开发方式,提供统一开发体验。同时,在同样的业务功能下,减少了设备额外MCU开销和存储器的使用,大幅降低设备成本。


2.准备工作
2.1软件准备

  • 下载OneOS-Cube工具软件
  • KEIL PACK 包
  • 下载OneOS 样例工程


2.2硬件准备

  • MM32F5277E9P开发板
  • MM32-JLINK



3.实验流程
3.1下载OneOS工程

登录网址下载OneOS工程:https://gitee.com/cmcc-oneos/OneOS

点击克隆/下载,复制SSH,或直接下载整个工程的压缩包ZIP,但是可能下载的工程不完全。

注意下载的工程应为master主线,若下载的dev分支,需git checkout master进入。



新建一个文件夹命名为OneOS(或其它),进入文件夹后,右击选择git bash,使用git指令克隆代码仓库:


git指令:

$ git clone git@gitee.com:cmcc-oneos/OneOS.git



3.2 下载OneOS cube工具

登录网址下载工具https://os.iot.10086.cn/doc/quick_start/setup_env/oneos_cube.html,点击“工具获取”,选择“工具下载”,选择“OneOS-Cube”

  

双击exe文件,安装OneOS-Cube工具,点击下一步,确定安装位置以及桌面快捷键后,点击安装,完成安装。

进入OneOS文件夹,打开“Projects”文件,右击选择“OneOS_Cube”,输入“project”。若没有project文件,需切换master分支。

 

3.3 生成MM32F5270工程
选择“MANUFACTOR(STM32)”后回车,选择“MM32”后回车;
    

选择“SERIES(MM32F327XX)”,选择“MM32F5XX”后回车;
    

选择MODEL(PLUS-F5270)回车,选择“(X)PLUS-F5270”后回车;

    

输入Q键退出,输入Y确定,工程开始下载,生成新的文件“mm32f5270-plus-f527”。
    

3.4配置工程
打开mm32f5270-plus-f5270文件夹,打开KEIL工程文件。进入board.c程序,确认引脚配置是否与PLUS-F5270一致,然后编译下载程序。
    

主函数:

#include <board.h>
#include <os_task.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, 512, 3);
    OS_ASSERT(task);
    os_task_startup(task);

    return 0;}

4.实验结果
若配置的引脚为(1, 14)和(2, 9),PLUS-F5270开发板B14和C9对应的LED将会交换闪烁:
    
---------------------
作者:春娇霹雳娃
链接:https://bbs.21ic.com/icview-3311324-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值