下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

内核
最新资讯
FreeRTOS-Plus-TCP 现具有统一的 IPv4 和 IPv6 功能,支持多接口。
为基于 FreeRTOS 的固件实现防砖化 MCU FOTA:
宣布停止支持 FreeRTOS 202012 LTS。
FreeRTOS 网站现已提供简体中文版本
新的 FreeRTOS Long Term Support 版本现已发布。

“协程”的特点

注意:协程是为了在非常小的设备上使用而实现的,但现在很少在领域中使用。因此尽管没有计划从代码中删除协程,但也没有计划进一步开发这些协程。

协程在概念上类似于任务,但有以下根本差异(详述在协程文档页面):

  1. 堆栈使用

    应用程序中的所有协程共用一个堆栈。与使用任务编写的类似应用程序相比,这大大降低了所需的 RAM。

     

  2. 调度和优先级

    协程间使用优先级协同调度,但可以包含在使用抢占式任务的应用程序中。

     

  3. 宏实现

    协程是通过一组宏实现的。

     

  4. 使用限制

    减少 RAM 使用是以一些严格限制协程构造为代价的。

协程总结

协程间共享堆栈会降低 RAM 使用。
协作操作减少了重入问题。
可以在不同架构间移植。
相对于其他协程完全优先,但如果混用协程和任务,那么总是会被任务抢占。
需要特别考虑堆栈不足的问题。
对 API 调用位置有限制。
只在协程间进行协作操作。

 

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.