沈阳网站网页,wordpress不同分类不同文章模板,免费素材哪个网站比较好,上海seo网站建设第9课 任务创建、删除和API函数
任务创建和删除本质是调用FreeRTOS的API函数
API函数描述xTaskCreate()动态方式创建任务xTaskCreateStatic()静态方式创建任务xTaskDelete()删除任务
动态创建任务#xff1a;
任务的任务控制块以及任务的栈空间所需的内存#xff0c;均由…第9课 任务创建、删除和API函数
任务创建和删除本质是调用FreeRTOS的API函数
API函数描述xTaskCreate()动态方式创建任务xTaskCreateStatic()静态方式创建任务xTaskDelete()删除任务
动态创建任务
任务的任务控制块以及任务的栈空间所需的内存均由FreeRTOS自动从系统管理的堆中分配自动
静态创建任务
任务的任务控制块以及任务的栈空间所需的内存需要用户分配提供人为
2、实现动态创建任务的流程
将宏configSUPPORT_DIYAMIC_ALLOCATION配置为1定义入口参数编写任务函数
此函数创建的任务会立刻进入就绪态由任务调度器运行
3、实现静态创建任务的流程
将宏configSUPPORT_DIYAMIC_ALLOCATION配置为1定义空闲任务定时器任务的任务堆栈及TCB实现两个接口函数
vApplicationGetldleTaskMemory()vApplicationGetTimerTaskMemory()
定义函数入口参数编写任务函数
此函数创建的任务会立刻进入就绪态由任务调度器运行
4、任务删除函数
被删除的任务将从就绪任务列表、阻塞态任务列表、挂起态任务列表和事件列表中移除
注意 1.当传入的参数为NULL则代表删除任务自身当前正在运行的任务 2.空闲任务会负责释放被删除任务中由系统分配的内存但是由用户在任务删除前申请的内存对于静态任务由用户在删除前由用户在任务被删除前提前释放内存否则将导致内存泄漏
删除任务流程
1、获取所要删除任务的控制块 2、将被删除任务移除所在列表 3、判断所需要删除的任务 4、更新下个任务的阻塞时间