Tag: primefaces能

如何在ARM7中进行primefaces比较和交换?

我想修改一个全局变量,它由RTOS中的不同任务和IRQ上下文共享。 因此我需要primefaces地修改这个变量。 在我当前的实现中,我一直在使用enable_irq / disable_irq函数来自动修改语句。 extern int g_var; void set_bit_atomic(int mask) { disable_irq(); g_var |= mask; enable_irq(); } 我在GCC 文档中找到了__sync_bool_compare_and_swap函数作为primefaces操作的帮助器。 我目前的工具链是KEIL MDK,我想切换到下面显示的方法, void set_bit_atomic(int mask) { volatile int tmp; do { tmp = g_var; } while (!__sync_bool_compare_and_swap(&g_var, tmp, tmp | mask)); } 如何在ARMv4命令集中编写__sync_bool_compare_and_swap函数(作为内联汇编)?