0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【XR806开发板试用】FreeRTOS创建任务测试

冬至子 来源:小会 作者:小会 2023-10-10 11:47 次阅读

这篇来学习下,XR806开发板在FreeRTOS系统下创建两个任务测试,由于没有找到学习的文档,试着参考例程来测试。

一、复制工程

上篇测试了hello_demo的测试例程,直接复制这个工程文件,在此基础上修改

root@ubuntu:/home/xr806_sdk/project/demo# cp -r hello_demo/ task_demo/

复制完成后,文件如下:

001.png

修改 /demo/task_demo/gcc目录下的defconfig文件
root@ubuntu:/home/xr806_sdk/project/demo/task_demo/gcc# vi defconfig

002.png

二、代码

2.1、main.c

#include "common/framework/platform_init.h"
#include < stdio.h >
#include "kernel/os/os.h"
#include "task.h"

int main(void)
{
    platform_init();
    task_init();
    
    return 0;
}

2.2、task.c

#include < stdio.h >
#include < string.h >
#include < stdlib.h >
#include "kernel/os/os.h"

#define START_THREAD_STACK_SIZE    (512)
#define THREAD_STACK1_SIZE    (512)
#define THREAD_STACK2_SIZE    (512)

static OS_Thread_t start_task_thread;
static OS_Thread_t task1_thread;
static OS_Thread_t task2_thread;

static void task1(void *arg)
{
    while (1)
    {
         printf("task1 running....n");
         OS_MSleep(100);
    }
}

static void task2(void *arg)
{
    while (1)
    {
         printf("task2 running....n");
         OS_MSleep(200);
    }
}


static void start_task(void *arg)
{

    //create task1
    if (OS_ThreadCreate(&task1_thread,
                        "task1",
                        task1,
                        NULL,
                        OS_THREAD_PRIO_APP,
                        THREAD_STACK1_SIZE) != OS_OK) {
        printf("thread create task1 errorn");
    }

    //create task2
    if (OS_ThreadCreate(&task2_thread,
                        "task2",
                        task2,
                        NULL,
                        OS_THREAD_PRIO_APP,
                        THREAD_STACK2_SIZE) != OS_OK) {
        printf("thread create task2 errorn");
    }

    OS_ThreadDelete(&start_task_thread);
}


int task_init(void)
{
    if (OS_ThreadCreate(&start_task_thread,
                        "start_task",
                        start_task,
                        NULL,
                        OS_THREAD_PRIO_APP,
                        START_THREAD_STACK_SIZE) != OS_OK) {
        printf("thread create errorn");
        return -1;
    }
    return 0;
}

三、程序运行

编译完成后,下载镜像到开发板。

复位开发板运行后,串口输出:

003.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FreeRTOS
    +关注

    关注

    12

    文章

    473

    浏览量

    61347
  • 串口输出
    +关注

    关注

    0

    文章

    16

    浏览量

    7383
  • xr806
    +关注

    关注

    0

    文章

    14

    浏览量

    1251
收藏 人收藏

    评论

    相关推荐

    如何使用XR806开发板来设计一个粮食霉变检测系统?

    XR806开发板具有强大的数据处理和传输能力,广泛应用于物联网和嵌入式系统开发
    的头像 发表于 01-05 17:30 474次阅读
    如何使用<b class='flag-5'>XR806</b><b class='flag-5'>开发板</b>来设计一个粮食霉变检测系统?

    XR806芯片、XR806开源鸿蒙开发板简介

    。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY 等领域的无线连接需求。芯片框图芯片参数XR806开源鸿蒙开发板介绍XR806开发板是基于
    发表于 11-15 17:08

    XR806芯片、XR806开源鸿蒙开发板简介

    。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY 等领域的无线连接需求。芯片框图芯片参数XR806开源鸿蒙开发板介绍XR806开发板是基于
    发表于 11-15 18:32

    有哪位大神可以分享一下XR806开发板/模组的资料呢

    XR806开发板/模组的硬件包含哪几个部分?XR806开发板/模组的硬件该怎样去设计呢?
    发表于 12-28 06:51

    如何利用XR806开发板对TCP通信进行测试

    如何利用XR806开发板对TCP通信进行测试呢?其测试代码该怎样去是实现呢?
    发表于 12-28 07:48

    如何对XR806开发板的环境进行配置呢

    如何对XR806开发板的环境进行配置呢?有哪些配置步骤?
    发表于 12-28 07:51

    XR806开发板下载代码时遇到错误fatal: Cannot get该怎么办

    XR806开发板试用】下载代码时遇到如下错误 fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle请问大家
    发表于 12-28 06:21

    新手求助怎样去使用XR806开发板

    新手求助怎样去使用XR806开发板呢?
    发表于 12-28 07:46

    请问大佬XR806鸿蒙开发板怎么样?

    请问大佬XR806鸿蒙开发板怎么样?
    发表于 12-29 07:06

    求大佬分享XR806鸿蒙开发板的功能引脚序号及对应IO功能

    求大佬分享XR806鸿蒙开发板的功能引脚序号及对应IO功能
    发表于 12-29 07:44

    XR806开发板试用】留言板功能开发

    XR806开源鸿蒙开发板是一款基于XR806芯片设计,高度集成WiFi/BLE/常用外设,可供开发者进行方案评估、DIY或小规模产品研发,可广泛应用于智能家居、智能楼宇、智能城市和工业
    的头像 发表于 10-08 10:58 326次阅读

    XR806开发板试用】基于FreeRTOS的UART1串口双向通信测试

    XR806是全志科技设计开发的一款支持WiFi和BLE的高集成度无线MCU芯片。之前已经支持了鸿蒙系统,现在又支持了FreeRTOS,可玩性又大大增强了。
    的头像 发表于 10-17 11:25 647次阅读
    【<b class='flag-5'>XR806</b><b class='flag-5'>开发板</b><b class='flag-5'>试用</b>】基于<b class='flag-5'>FreeRTOS</b>的UART1串口双向通信<b class='flag-5'>测试</b>

    XR806串口驱动CM32M对小厨宝的控制实验

    非常感谢基于安谋科技STAR-MC1的全志XR806 Wi-Fi+BLE开源鸿蒙开发板试用活动,并获得开发板试用
    的头像 发表于 10-23 11:39 306次阅读
    <b class='flag-5'>XR806</b>串口驱动CM32M对小厨宝的控制实验

    全志XR806底板位号图

    全志XR806底板位号图
    发表于 10-19 15:11 0次下载

    全志XR806开发板原理图

    全志XR806开发板原理图
    发表于 10-19 15:11 9次下载