开放原子训练营(第四季)TobuOS——基于NUCLEO_U5A5ZJ-Q的TobudOS移植

本文详细介绍了如何在STM32 NUCLEO-U5A5ZJ-Q开发板上移植实时操作系统TobudOS,并创建任务控制RGB灯。TobudOS是一款低功耗、低资源占用的物联网RTOS,具备丰富的物联网组件和协议栈。文章涵盖了从模板工程创建、内核移植步骤到实际应用的完整过程,展示了TobudOS的易用性和灵活性。
摘要由CSDN通过智能技术生成

本文介绍如何在NUCLEO-U5A5ZJ-Q上移植TobudOS内核,并创建多个任务实现对板卡上RGB灯的控制。

TobudOS简介

TobudOS 是面向物联网领域开发的实时操作系统,基于腾讯自研的物联网操作系统TencentOS Tiny开源项目,2020年由腾讯捐赠到开放原子开源基金会进行孵化,2023年正式更名为TobudOS,TobudOS具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率,提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU (如 STM32 全系列) 及模组芯片上。而且,基于 RTOS 内核提供了丰富的物联网组件,内部集成主流物联网协议栈(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入物联网云平台。

NUCLEO-U5A5ZJ-Q 硬件

NUCLEO-U5A5ZJ-Q是基于ST的STM32U5A5ZJT6Q设计的评估板。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
板载了通用的外设,比如按键、LED灯、串口等。本次实验使用的RGB灯在板上的位置如图所示。通过产看原理图可知,LED对应的管脚如下表。

功能 引脚
红灯 PG2
绿灯 PC7
蓝灯 PB7

模板工程创建

ST为开发者提供了很多开发工具的支持,比如Keil、IAR、STM32CubeIDE、Makefile等。本文选择STM32CubeIDE作为开发环境。

在STM32Cube IDE的创建工程菜单中选择创建STM32 project类型的工程。

在这里插入图片描述

在选择目标板卡的界面中选择目标板卡。

在这里插入图片描述

输入工程名和工程选项,完成工程的创建。

在这里插入图片描述
在这里插入图片描述

在完成工程的创建,工程的目录树如图所示。

在这里插入图片描述

TobudOS 内核移植

TobudOS内核移植涉及到的文件有

在这里插入图片描述

在工程的顶层文件夹创建tiny文件夹用于存放操作系统相关的代码。

在这里插入图片描述

arch文件夹中包含了多种内核架构的代码,本文使用的NUCLEO_U5A5ZJ-Q的芯片内核为cortexm33,所以只保留如下的文件夹中的代码即可。

在这里插入图片描述

kernel文件夹中的代码是操作系统的源码,全部复制过来即可。

osal文件夹中包含了cmsisos和POSIX接口,本文中保留的文件如下。

在这里插入图片描述

到此,从TobudOS仓库中添加代码的工作就结束了,在工程的菜单栏中更行文件的索引。

在这里插入图片描述

在工程的属性对话框中,添加头文件路径和源代码路径

在这里插入图片描述

在这里插入图片描述

由于TobudOS的代码编译是条件编译,需要在工程中添加配置文件来开启相应的功能。

在Core/Inc文件中添加tos_config.h文件的具体内容如下。

#ifndef _TOS_CONFIG_H_
#define _TOS_CONFIG_H_

#include "stm32u5xx.h" // 目标芯片头文件,视特定芯片而定

#define TOS_CFG_TASK_PRIO_MAX           10u 	// 配置TobudOS默认支持的最大优先级数量

#define TOS_CFG_ROUND_ROBIN_EN          0u		// 配置TobudOS的内核是否开启时间片轮转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值