compare_set.h 624 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #pragma once
  7. #include <stdint.h>
  8. #include <stdbool.h>
  9. #include "esp_attr.h"
  10. #include "esp_cpu.h"
  11. #include "esp_memory_utils.h"
  12. #include "hal/cpu_hal.h"
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. static inline void __attribute__((always_inline)) compare_and_set_native(volatile uint32_t *addr, uint32_t compare, uint32_t *set)
  17. {
  18. cpu_ll_compare_and_set_native(addr, compare, set);
  19. }
  20. void compare_and_set_extram(volatile uint32_t *addr, uint32_t compare, uint32_t *set);
  21. #ifdef __cplusplus
  22. }
  23. #endif