我正在尝试使用FreeRTOS API运行两个任务。我跟随Handson Tutorial pdf of FreeRTOS,但我的任务只运行一次并停止。我在x86 Intel上使用FreeRTOS内核。我能够编写并运行代码。
我的操作系统是Ubuntu,我正在使用带有GCC的Eclipse工具链。如果有人有这方面的经验,他们可以给我一些关于如何做正确的指示。
这是我的代码:
static unsigned long uxQueueSendPassedCount = 0;
void vTask1(void *pvParameters)
{
const char *str_to_display="This is task1\n\r";
while(1)
{
printf("%s",str_to_display);
vTaskDelay(1000);
}
}
void vTask2(void *pvParameters)
{
const char *str_to_display="This is task2\n\r";
while(1)
{
printf("%s",str_to_display);
vTaskDelay(1000);
}
}
int main()
{
xTaskCreate(vTask1, (signed char *)"Task1",1000,NULL,3,NULL);
xTaskCreate(vTask2,(signed char *)"Task2",100,NULL,1,NULL);
vTaskStartScheduler();
while(1)
{
}
return 0;
}
更新 我试过的其他事情:
只创建了一个具有无限循环的任务,它按预期运行,
只创建了一个任务,添加了vTaskDelay
,我收到错误"分段错误(核心转储)"
答案 0 :(得分:0)
您使用的是哪个端口?或者您是否尝试在Ubuntu上运行代码?本书中的项目配置为在Windows上运行。