下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

内核
最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。

“协程”的特点

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

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

  1. 堆栈使用

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

     

  2. 调度和优先级

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

     

  3. 宏实现

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

     

  4. 使用限制

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

协程总结

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

 

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