当前位置:网站首页>B_QuRT_User_Guide(39)

B_QuRT_User_Guide(39)

2022-07-07 21:52:00 weixin_38498942

B_QuRT_User_Guide(39)

27 原子操作

QuRT 内核原子操作可通过以下章节中的 QuRT 函数访问。

27.1 qurt_atomic_set()

27.1.1 功能文档

27.1.1.1 static QURT_INLINE unsigned int qurt_atomic_set ( unsigned int ∗ target,unsigned int value )

设置具有指定值的原子变量。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
invalue要设置的值。

返回值
值成功设置。

依赖项
None.

27.2 qurt_atomic_and()

27.2.1 功能文档

27.2.1.1 static QURT_INLINE void qurt_atomic_and ( unsigned int ∗ target, unsigned int mask )

带有掩码的原子变量的按位与运算。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inmask按位与的掩码。

返回值
None.

依赖项
None.

27.3 qurt_atomic_and_return()

27.3.1 功能文档

27.3.1.1 static QURT_INLINE unsigned int qurt_atomic_and_return ( unsigned int ∗target, unsigned int mask )

带有掩码的原子变量的按位与运算。

注意:函数重试直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inmask按位与的掩码。

返回值
带有掩码的原子变量的 AND 结果。

依赖项
None.

27.4 qurt_atomic_or()

27.4.1 功能文档

27.4.1.1 static QURT_INLINE void qurt_atomic_or ( unsigned int ∗ target, unsigned int mask )

带有掩码的原子变量的按位或运算。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inmask按位或的掩码。

返回值
None.

依赖项
None.

27.5 qurt_atomic_or_return()

27.5.1 功能文档

27.5.1.1 static QURT_INLINE unsigned int qurt_atomic_or_return ( unsigned int ∗target, unsigned int mask )

带有掩码的原子变量的按位或运算。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inmask按位或的掩码。

返回值
返回带有掩码的原子变量的 OR 结果。

依赖项
None.

27.6 qurt_atomic_xor()

27.6.1 功能文档

27.6.1.1 static QURT_INLINE void qurt_atomic_xor ( unsigned int ∗ target, unsigned int mask )

带有掩码的原子变量的按位异或运算。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inmask按位异或的掩码。

返回值
None.

依赖项
None.

27.7 qurt_atomic_xor_return()

27.7.1 功能文档

27.7.1.1 static QURT_INLINE unsigned int qurt_atomic_xor_return ( unsigned int ∗target, unsigned int mask )

带有掩码的原子变量的按位异或运算。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inmask按位异或的掩码。

返回值
带有掩码的原子变量的异或结果。

依赖项
None.

27.8 qurt_atomic_set_bit()

27.8.1 功能文档

27.8.1.1 static QURT_INLINE void qurt_atomic_set_bit ( unsigned int ∗ target,unsigned int bit )

在原子变量中的指定位置设置一个位。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inbit要设置的bit位置。

返回值
None.

依赖项
None.

27.9 qurt_atomic_clear_bit()

27.9.1 功能文档

27.9.1.1 static QURT_INLINE void qurt_atomic_clear_bit ( unsigned int ∗ target,unsigned int bit )

清除原子变量中指定位置的位。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inbit要清除的bit位置。

返回值
None.

依赖项
None.

27.10 qurt_atomic_change_bit()

27.10.1 功能文档

27.10.1.1 static QURT_INLINE void qurt_atomic_change_bit ( unsigned int ∗ target,unsigned int bit )

在bit位置的原子变量中切换位。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inbit要切换的bit位置。

返回值
None.

依赖项
None.

27.11 qurt_atomic_add()

27.11.1 功能文档

27.11.1.1 static QURT_INLINE void qurt_atomic_add ( unsigned int ∗ target, unsigned int v )

将整数加到原子变量。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inv要添加的整数值。

返回值
None.

依赖项
None.

27.12 qurt_atomic_add_return()

27.12.1 功能文档

27.12.1.1 static QURT_INLINE unsigned int qurt_atomic_add_return ( unsigned int ∗target, unsigned int v )

将整数加到原子变量。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inv要添加的整数值。

返回值
算术和的结果。

依赖项
None.

27.13 qurt_atomic_add_unless()

27.13.1 功能文档

27.13.1.1 static QURT_INLINE unsigned int qurt_atomic_add_unless ( unsigned int ∗target, unsigned int delta, unsigned int unless )

将增量值加到原子变量,除非目标中的当前值与除非变量匹配。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
indelta加到当前值的值。
inunless仅当当前值不等于unless值时才执行加法。

返回值
TRUE 1 - 执行了加法。
FALSE 0 - 加法未完成。
依赖项
None.

27.14 qurt_atomic_sub()

27.14.1 功能文档

27.14.1.1 static QURT_INLINE void qurt_atomic_sub ( unsigned int ∗ target, unsigned int v )

从原子变量中减去一个整数。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inv要减去的整数值。

返回值
None.
依赖项
None.

27.15 qurt_atomic_sub_return()

27.15.1 功能文档

27.15.1.1 static QURT_INLINE unsigned int qurt_atomic_sub_return ( unsigned int ∗target, unsigned int v )

从原子变量中减去一个整数。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inv要减去的整数值。

返回值
算术减法的结果。

依赖项
None.

27.16 qurt_atomic_inc()

27.16.1 功能文档

27.16.1.1 static QURT_INLINE void qurt_atomic_inc ( unsigned int ∗ target )

将原子变量加一。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。

返回值
None.

依赖项
None.

27.17 qurt_atomic_inc_return()

27.17.1 功能文档

27.17.1.1 static QURT_INLINE unsigned int qurt_atomic_inc_return ( unsigned int ∗target )

将原子变量加一。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。

返回值
增量值。

依赖项
None.

27.18 qurt_atomic_dec()

27.18.1 功能文档

27.18.1.1 static QURT_INLINE void qurt_atomic_dec ( unsigned int ∗ target )

将原子变量减一。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。

返回值
None.

依赖项
None.

原网站

版权声明
本文为[weixin_38498942]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_38498942/article/details/125656110