這篇來學(xué)習(xí)下,XR806開發(fā)板在FreeRTOS系統(tǒng)下創(chuàng)建兩個任務(wù)測試,由于沒有找到學(xué)習(xí)的文檔,試著參考例程來測試。
一、復(fù)制工程
上篇測試了hello_demo的測試?yán)蹋苯訌?fù)制這個工程文件,在此基礎(chǔ)上修改
root@ubuntu:/home/xr806_sdk/project/demo# cp -r hello_demo/ task_demo/
復(fù)制完成后,文件如下:

修改 /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;
}
三、程序運行
編譯完成后,下載鏡像到開發(fā)板。
復(fù)位開發(fā)板運行后,串口輸出:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
FreeRTOS
+關(guān)注
關(guān)注
14文章
499瀏覽量
66962 -
串口輸出
+關(guān)注
關(guān)注
0文章
18瀏覽量
7822 -
xr806
+關(guān)注
關(guān)注
0文章
14瀏覽量
1591
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
【XR806開發(fā)板適用】基于多源信息融合的糧食霉變檢測系統(tǒng)設(shè)計
XR806開發(fā)板具有強大的數(shù)據(jù)處理和傳輸能力,廣泛應(yīng)用于物聯(lián)網(wǎng)和嵌入式系統(tǒng)開發(fā)。
基于全志XR806開發(fā)板的家用環(huán)境監(jiān)測傳感器設(shè)計
本文來自全志XR806開發(fā)板評測活動文章,作者使用XR806開發(fā)板制作一個簡單的家用環(huán)境監(jiān)測傳感器,可以獲取當(dāng)前的溫度、濕度、氣壓、海拔這四個參數(shù),同時能夠通過外部的屏幕實時顯示刷新。
如何使用XR806開發(fā)板來設(shè)計一個糧食霉變檢測系統(tǒng)?
XR806開發(fā)板具有強大的數(shù)據(jù)處理和傳輸能力,廣泛應(yīng)用于物聯(lián)網(wǎng)和嵌入式系統(tǒng)開發(fā),
OpenHarmony南向嵌入式:【XR806開發(fā)板指導(dǎo)文檔】
XR806_OpenHarmony開發(fā)板是基于XR806芯片設(shè)計開發(fā)的參考評估,板身集成了XR806
XR806芯片、XR806開源鴻蒙開發(fā)板簡介
。可廣泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競賽、極客DIY 等領(lǐng)域的無線連接需求。芯片框圖芯片參數(shù)XR806開源鴻蒙開發(fā)板介紹XR806開發(fā)板是基于
發(fā)表于 11-15 17:08
XR806芯片、XR806開源鴻蒙開發(fā)板簡介
??蓮V泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競賽、極客DIY 等領(lǐng)域的無線連接需求。芯片框圖芯片參數(shù)XR806開源鴻蒙開發(fā)板介紹XR806開發(fā)板是基于
發(fā)表于 11-15 18:32
有哪位大神可以分享一下XR806開發(fā)板/模組的資料呢
XR806開發(fā)板/模組的硬件包含哪幾個部分?XR806開發(fā)板/模組的硬件該怎樣去設(shè)計呢?
發(fā)表于 12-28 06:51
簡述XR806開發(fā)板與STAR-MC1處理器
全志XR806開發(fā)板基于XR806芯片設(shè)計,搭載了安謀中國的星辰系列STAR-MC1處理器。該開發(fā)板體積較小,具備WiFi、低功耗藍(lán)牙技術(shù)等功能,技術(shù)集成度高,成本低,支持鴻蒙系統(tǒng),能
【XR806開發(fā)板試用】留言板功能開發(fā)
XR806開源鴻蒙開發(fā)板是一款基于XR806芯片設(shè)計,高度集成WiFi/BLE/常用外設(shè),可供開發(fā)者進行方案評估、DIY或小規(guī)模產(chǎn)品研發(fā),可廣泛應(yīng)用于智能家居、智能樓宇、智能城市和工業(yè)
【XR806開發(fā)板試用】基于FreeRTOS的UART1串口雙向通信測試
XR806是全志科技設(shè)計開發(fā)的一款支持WiFi和BLE的高集成度無線MCU芯片。之前已經(jīng)支持了鴻蒙系統(tǒng),現(xiàn)在又支持了FreeRTOS,可玩性又大大增強了。
【XR806開發(fā)板試用】FreeRTOS創(chuàng)建任務(wù)測試
評論