这篇来学习下,XR806开发板在FreeRTOS系统下创建两个任务测试,由于没有找到学习的文档,试着参考例程来测试。
一、复制工程
上篇测试了hello_demo的测试例程,直接复制这个工程文件,在此基础上修改
root@ubuntu:/home/xr806_sdk/project/demo# cp -r hello_demo/ task_demo/
复制完成后,文件如下:
修改 /demo/task_demo/gcc目录下的defconfig文件
root@ubuntu:/home/xr806_sdk/project/demo/task_demo/gcc# vi defconfig
二、代码
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;
}
三、程序运行
编译完成后,下载镜像到开发板。
复位开发板运行后,串口输出:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
FreeRTOS
+关注
关注
12文章
484浏览量
62160 -
串口输出
+关注
关注
0文章
16浏览量
7490 -
xr806
+关注
关注
0文章
14浏览量
1323
发布评论请先 登录
相关推荐
基于全志XR806开发板的家用环境监测传感器设计
本文来自全志XR806开发板评测活动文章,作者使用XR806开发板制作一个简单的家用环境监测传感器,可以获取当前的温度、湿度、气压、海拔这四个参数,同时能够通过外部的屏幕实时显示刷新。
XR806芯片、XR806开源鸿蒙开发板简介
。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY 等领域的无线连接需求。芯片框图芯片参数XR806开源鸿蒙开发板介绍XR806开发板是基于
发表于 11-15 17:08
XR806芯片、XR806开源鸿蒙开发板简介
。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY 等领域的无线连接需求。芯片框图芯片参数XR806开源鸿蒙开发板介绍XR806开发板是基于
发表于 11-15 18:32
简述XR806开发板与STAR-MC1处理器
全志XR806开发板基于XR806芯片设计,搭载了安谋中国的星辰系列STAR-MC1处理器。该开发板体积较小,具备WiFi、低功耗蓝牙技术等功能,技术集成度高,成本低,支持鸿蒙系统,能
【XR806开发板试用】留言板功能开发
XR806开源鸿蒙开发板是一款基于XR806芯片设计,高度集成WiFi/BLE/常用外设,可供开发者进行方案评估、DIY或小规模产品研发,可广泛应用于智能家居、智能楼宇、智能城市和工业
【XR806开发板试用】基于FreeRTOS的UART1串口双向通信测试
XR806是全志科技设计开发的一款支持WiFi和BLE的高集成度无线MCU芯片。之前已经支持了鸿蒙系统,现在又支持了FreeRTOS,可玩性又大大增强了。
评论