Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AIoT应用创新大赛-使用MDK软件包移植TencentOS tiny

AIoT应用创新大赛-使用MDK软件包移植TencentOS tiny

原创
作者头像
LinwCui
发布于 2022-01-16 05:57:01
发布于 2022-01-16 05:57:01
41200
代码可运行
举报
运行总次数:0
代码可运行

引言

在移植TencentOS tiny到keil工程时,需要从github下载TencentOS tiny,然后逐个文件夹进行复制,并在工程中添加头文件和源文件,操作相对来说比较繁琐,作者在在21年暑假制作了TencentOS tiny的MDK软件包,能够以安装的方式将TencentOS tiny移植到Keil上,比较方便,因此在本文中对其使用过程进行介绍。

1、基础工作

结合

生成了项目需要的Keil 5工程(这个过程可以参考https://cloud.tencent.com/developer/article/1925881)。

接下来需要将TencentOS tiny移植到工程中;

2、移植方案1

(一种方法是github上介绍的移植方法TencentOS-tiny/30.TencentOS_Tiny_EVB_AIoT_QuickStart.md at master · OpenAtomFoundation/TencentOS-tiny (github.com)

3、使用MDK软件包进行安装移植

1、下载TencentOS tiny的MDK软件包

TencentOS-tiny/Tencent.TencentOS-tiny.1.0.1.pack at master · LinwCui/TencentOS-tiny (github.com)

2、安装软件包(与安装RT1062的MDK PACK包一样);

3、打开Keil5的工程,编译设置为flexspi_nor_debug

1
1

选择TencentOS tiny组件

2
2

4、配置,在mcu_platform.h里面添加头文件#include "MIMXRT1062.h" #include "core_cm7.h"

5、测试

(1)新建example.c,在里面添加任务代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "fsl_device_registers.h"
#include "fsl_debug_console.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "board.h"
#include "tos_k.h"

#define TASK1_STK_SIZE       1024
k_task_t task1;
uint8_t task1_stk[TASK1_STK_SIZE];


#define TASK2_STK_SIZE       1024
k_task_t task2;
uint8_t task2_stk[TASK2_STK_SIZE];

void task1_entry(void *arg)
{
    while (1) {
        PRINTF("###I am task1\r\n");
        tos_task_delay(2000);
    }
}

void task2_entry(void *arg)
{
    while (1) {
        PRINTF("***I am task2\r\n");
        tos_task_delay(1000);
    }
}


void application_entry(void *arg)
{
    tos_task_create(&task1, "task1", task1_entry, NULL, 3, task1_stk, TASK1_STK_SIZE, 0); // Create task1
    tos_task_create(&task2, "task2", task2_entry, NULL, 3, task2_stk, TASK2_STK_SIZE, 0);// Create task2
}

(2)将原始工程的hello_world.c修改如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*
 * Copyright (c) 2013 - 2015, Freescale Semiconductor, Inc.
 * Copyright 2016-2017 NXP
 * All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#include "fsl_device_registers.h"
#include "fsl_debug_console.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "board.h"
#include "tos_k.h"
/*******************************************************************************
 * Definitions
 ******************************************************************************/
#define APPLICATION_TASK_STK_SIZE       4096
k_task_t application_task;
uint8_t application_task_stk[APPLICATION_TASK_STK_SIZE];
extern void application_entry(void *arg);

#pragma weak application_entry
void application_entry(void *arg)
{
    while (1) {
        PRINTF("This is a demo task,please use your task entry!\r\n");
        tos_task_delay(1000);
    }
}
/*******************************************************************************
 * Prototypes
 ******************************************************************************/

/*******************************************************************************
 * Code
 ******************************************************************************/
/*!
 * @brief Main function
 */
int main(void)
{
    char ch;

    /* Init board hardware. */
    BOARD_ConfigMPU();
    BOARD_InitBootPins();
    BOARD_InitBootClocks();
    BOARD_InitDebugConsole();

    //PRINTF("hello world.\r\n");
        PRINTF("Welcome to TencentOS tiny(%s)\r\n", TOS_VERSION);
    tos_knl_init(); // TencentOS Tiny kernel initialize
    tos_task_create(&application_task, "application_task", application_entry, NULL, 4, application_task_stk, APPLICATION_TASK_STK_SIZE, 0);
    tos_knl_start();
    while (1)
    {
        ch = GETCHAR();
        PUTCHAR(ch);
    }
}

(3)编译,并通过CMSIS-DAP Debugger下载进单片机

测试
测试

6、如果任务运行正确,那么就说明移植成功。

4、其他

ps. 使用STM32Cube也是可以的,对应的软件包在这里https://github.com/OpenAtomFoundation/TencentOS-tiny/tree/master/tools/STM32CubeMX_pack

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AIoT应用创新大赛-keil开发--(2)移植TencentOS tiny与对接腾讯云IoT
在上一篇中,我们利用MCUXpresso Config Tools生出来一个Hello World 的裸机工程,这一篇将在Keil环境下移植TencentOS tiny到这个裸机工程,并移植对接腾讯云的工程。
烫烫烫烫烫烫锟斤拷
2022/01/09
1.8K0
AIoT应用创新大赛-基于TencentOS Tiny 疫情显示系统
2022年,新冠疫情卷土重来,家乡山东都在抗疫,作为志愿者,抽空写报告。基于TencentOS 加持LVGL,做新冠疫情显示平台。实现疫情数据的获取,数据的图表显示,辟谣信息、疫情新闻的显示。RT1062开发板 算力强大,RAM,flash随便用,一次缓存数据满足开发需求。
用户9552019
2022/03/15
4080
STM32标准库工程中移植TencentOS-tiny
因为项目的原因需要将原有的标准库工程升级为基于TencentOS-tiny的RTOS工程,所以花费一点时间记录移植过程,提供一份向基于STM32标准库的老工程中移植TencentOS-tiny的思路。
Mculover666
2021/02/19
8000
STM32标准库工程中移植TencentOS-tiny
TencentOS tiny 内核移植参考指南(Keil版)
TencentOS tiny目前主要支持ARM Cortex M核芯片的移植,比如STM32 基于Cortex M核全系列、NXP 基于Cortex M核全系列等。本教程将使用STM32官方Demo开发板 NUCLEO-L073RZ进行示例移植,其他 ARM Cortex M系列开发板和芯片移植方法类似。
Supowang
2019/08/26
3.7K1
TencentOS tiny 内核移植参考指南(Keil版)
开发者成长激励计划-基于TencentOS Tiny移植JS解释器
Github开源地址:https://github.com/DawnMagnet/JSInterpreter-TencentOS
曙光磁铁
2022/08/08
9750
开发者成长激励计划-基于TencentOS Tiny移植JS解释器
AIoT应用创新大赛-基于TencentOS Tiny 的遥控小车
很早就有做个智能小车的想法,但由于时间有限和囊中羞涩,一直没有付出行动,感谢腾讯TencentOS Tiny团队的信任,给了这么一次机会,虽然离自己的设想的功能还差很多,但至少迈出了重要的一步,更重要的是能学习TencentOS Tiny实时操作系统 和i.MX RT系列应用处理器,在此表示感谢。
用户9320370
2022/03/06
1.1K0
AIoT应用创新大赛-基于TencentOS Tiny 的遥控小车
AIoT应用创新大赛-基于TencentOS Tiny的护眼台灯
现如今由于新冠疫情影响,疫情催生着在线教育,让很多学习场景从学校、教室转移至家庭、宿舍。作为开学即隔离的学生党感受颇深QAQ,每天的网课和作业对用眼需求更大,昏暗的宿舍和巨亮的屏幕更是增大了眼睛的压力。于是就有了开发此demo的想法,同时感谢TencentOS团队提供的这次机会开启了我学习嵌入式操作系统,以及学习NXP系列MCU的旅程。
JGMMS
2022/03/12
1.5K0
TencentOS tiny RTOS快速入门
上节,我们介绍了TencentOS tiny,参考官方给出的移植教程亲自动手做了一遍,文章如下:
杨源鑫
2020/09/23
2.9K0
TencentOS tiny RTOS快速入门
AIoT应用创新大赛-基于TencentOS Tiny AIoT NXP自动摄像仪
TencentOS tiny联合NXP推出的RT1062开发板让人眼前一亮,能够实现众多的强大功能,但是我只能选取一瓢来实现本次比赛的作品。看到摄像头的功能,和较大的内存以及强大算力,我最先想到的是可以自动抓拍人们经过某个区域时照片,这样我不用一直开着摄像机,省电又可以延长摄像头的寿命。特别在许多无人区更需要这样的一台简单又实用的设备,且也不需要长期监控的,又能够节约能源。例如我们出差时,家里长时间没人,又担心有人一盯上家里的财物,而经常在门口转悠,这个时候就可以通过检测是否有人启动摄像头,并通过腾讯云平台传递信息到手机中提醒有人在门口长时间逗留。
极速紫韵
2022/03/11
1.2K0
AIoT应用创新大赛-基于TencentOS Tiny AIoT NXP自动摄像仪
AIoT应用创新大赛-智慧路灯(MCUXpresso IDE版本)
本文对腾讯和恩智浦半导体、厚德物联网设计的一款高性能AIoT评估板,使用TencentOS tiny 基础内核和AIoT应用功能体验和评估。 ​参考了官方文档和其他博主的文章,实现了
用户1274637
2022/03/05
9510
AIoT应用创新大赛-智慧路灯(MCUXpresso IDE版本)
AIoT应用创新大赛-基于TencentOS Tiny 的会议室使用小助手
诸如会议室等隐私场所,不能通过单纯的安装监控进行管理,实际管理中却又想得知是否有人在使用。为解决此类问题,会议室使用小助手横空出世。
烫烫烫烫烫烫锟斤拷
2022/02/07
1.7K0
AIoT应用创新大赛-基于TencentOS Tiny 的会议室使用小助手
【开发者成长激励计划-基于TencentOS Tiny 和腾讯云的环境监测系统】
本文设计了基于CH32V307和TencentOS Tiny的环境监测系统,通过DHT11传感器读取相关的数据,将温湿度数据显示在LCD上,并通过ESP8266实现下位机与腾讯云的连接,将该数据上传到腾讯云上,实现云端数据的监视。
用户7205256
2022/07/14
1.7K6
【开发者成长激励计划-基于TencentOS Tiny 和腾讯云的环境监测系统】
RTOS内功修炼记(四)— 小小的时钟节拍,撑起了内核半边天!
第一篇文章讲述了任务的三大元素:任务控制块、任务栈、任务入口函数,并讲述了编写RTOS任务入口函数时三个重要的注意点。
Mculover666
2020/07/16
1.3K0
RTOS内功修炼记(四)— 小小的时钟节拍,撑起了内核半边天!
AIoT应用创新大赛-基于TencentOS Tiny的办公区厕所蹲位监控系统
这次有幸获得腾讯物联网和NXP联合推出的TencentOS Tiny EVB_AIoT开发板,是基于NXP的i.MX RT1062跨界MCU,其功能非常强大。因为时间关系,还有很多强大的功能尚在学习中,这次先运用学习的基础知识,做了一个有些趣味性的系统。
HonestQiao
2022/03/14
1.2K2
AIoT应用创新大赛-基于TencentOS Tiny的办公区厕所蹲位监控系统
NXP Tiny OS 点灯实列详解
打开以后是一个巨大的程序集合,这里的话需要等一会儿,我这里使用VSCode来看代码,所以有一个建立程序各种索引的过程。
云深无际
2022/02/09
3930
NXP Tiny OS 点灯实列详解
AIoT应用创新大赛-基于TencentOS Tiny的家庭安全监控系统
随着科技的发展与进步,人们家庭的智能设备和产品越来越多,接入电网的设备也会越来越多,量变导致质变,家庭设备总用电监控,能极大的帮助人们了解日常用电情况;
大白菜L
2022/03/15
1.7K1
AIoT应用创新大赛-基于TencentOS Tiny的家庭安全监控系统
AIoT应用创新大赛-基于TencentOS Tiny 的智能家居中控
随着科技水平的不断提高,生活水平的改善,智能家居产品正在不断走进日常生活。智能家居可以让家电更智能,更能让生活更舒适。智能家居也是互联网不断深化发展的产物。互联网连接的是人与人,进一步发展后形成物联网,连接人与物、物与物。
羽翰尘
2022/03/06
1.4K1
AIoT应用创新大赛-基于TencentOS Tiny 的智能家居中控
TencentOS tiny 移植到STM32F103全教程(基于标准库)
STM32的裸机工程模板直接使用野火STM32开发板配套的固件库例程即可。可以从我github上获取https://github.com/jiejieTop/TencentOS-Demo
杰杰
2019/09/20
3K2
TencentOS tiny 移植到STM32F103全教程(基于标准库)
天啊!鹅厂都开始做开发板了?网红腾讯物联网开发板终极开箱评测,让我们一睹为快!
前几天拿到了腾讯汪总赠送的EVB_MX+以及EVB_LX开发板,它们长下面这个样子,看起来很轻便,即使是外出我也可以随身带着它随时随地进行玩耍,就和小熊派一样,整体给人感觉就非常舒服。
杨源鑫
2020/09/14
1.4K0
AIoT应用创新大赛-基于TencentOS Tiny 人脸计数的实践
这次的项目主要是对比赛提供的资源的一次简单实践,将摄像头所识别的人脸数目传送到微信小程序上,模型是提前训练好的,在比赛的板子上进行推理,然后将识别到的人数,以json的格式传送给腾讯云物联网平台,然后由该平台注册的设备和腾讯连连小程序绑定,用户可以通过小程序看到设备周围的人数(准确的说是摄像头拍到的),适用的场景可以是一些防盗报警设备,检测到人数立即上报,该方案最初的设想是根据超声波测活动物体范围以及使用摄像头校准,能得到更加精确的结果。
用户8204584
2022/03/13
8540
推荐阅读
相关推荐
AIoT应用创新大赛-keil开发--(2)移植TencentOS tiny与对接腾讯云IoT
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验