加载中…
  
博文
标签:

任务切换

任务调度

freertos

cortexm3

stm32

it

分类: 嵌入式

说明:嵌入式系统FreeRTOS任务切换牵涉到具体硬件体系结构的支持,(堆栈类型,寄存器种类,工作模式等不同)

下面根据CortexM3内核---STM32处理器---进行介绍:

一:启动第一个任务,

二:portYIELD_WITHIN_API(任务切换)包括 创建任务,

 一:内核刚刚启动时候,第一个任务是怎样跑起来的。

1.1:主函数:main(){

 

 prvSetupHardware();//初始化硬件(处理器IO,初始化等)

 

//创建第一个任务  vTestTask.任务创建参考----FreeRTOS任务管理与控制--------

 xTaskCreate( vTestTask, ( signed portCHAR *) 'Test', configMINIMAL_STACK_SIZE, NULL, (tskIDLE_PRIORITY+1), NULL);

 

//开启内核运行,调度便由此开始。

vTaskStartScheduler();

 

}

1.2:内部调用的函数   在内核文件task.c中实现。

下面解析:VTastStartScheduler的实现:

void vTaskStartSched

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有