原子操作 - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

原子操作

概述

原子操作确保并发编程中的非阻塞同步。您可以使用原子操作来解决使用共享内存的异步操作所导致的性能问题。FreeRTOS 支持原子操作,在 iot_atomic.h 标头文件中实施。

iot_atomic.h 标头文件包含原子操作的两个实施:

  • 全局禁用中断。

    此实施可供所有 FreeRTOS 平台使用。

  • ISA 本机原子支持。

    此实施仅适用于满足下列条件的平台:使用 GCC 版本 4.7.0 和更高版本编译,并且具有 ISA 原子支持。有关 GCC 内置函数的更多信息,请参阅用于内存模型感知原子操作的内置函数

初始化

使用 FreeRTOS 原子操作之前,您需要选择所要使用的原子操作实施。

  1. 打开 FreeRTOSConfig.h 配置文件以进行编辑。

  2. 对于 ISA 本机原子支持实施,请定义 configUSE_ATOMIC_INSTRUCTION 变量并将其设置为 1

    对于禁用全局中断实施,请取消定义或者清除 configUSE_ATOMIC_INSTRUCTION

API 参考

有关完整 API 参考,请参阅原子操作 C 开发工具包 API 参考