*\r
* Exclusive STR command for 8 bit values\r
*/\r
-uint32_t __STREXB(uint8_t value, uint8_t *addr)\r
+//uint32_t __STREXB(uint8_t value, uint8_t *addr)\r
+__attribute__( ( always_inline , optimize("O0")) ) static __INLINE uint32_t __STREXB(uint8_t value, uint8_t *addr)\r
{\r
__ASM("strexb r0, r0, [r1]");\r
__ASM("bx lr");\r
}\r
\r
+\r
+\r
/**\r
* @brief STR Exclusive (16 bit)\r
*\r
*\r
* Exclusive STR command for 16 bit values\r
*/\r
-uint32_t __STREXH(uint16_t value, uint16_t *addr)\r
+//uint32_t __STREXH(uint16_t value, uint16_t *addr)\r
+__attribute__( ( always_inline , optimize("O0")) ) static __INLINE uint32_t __STREXH(uint16_t value, uint16_t *addr)\r
{\r
__ASM("strexh r0, r0, [r1]");\r
__ASM("bx lr");\r
*\r
* Exclusive STR command for 8 bit values\r
*/\r
-uint32_t __STREXB(uint8_t value, uint8_t *addr)\r
+//uint32_t __STREXB(uint8_t value, uint8_t *addr)\r
+__attribute__( ( always_inline , optimize("O0")) ) static __INLINE uint32_t __STREXB(uint8_t value, uint8_t *addr)\r
{\r
uint32_t result=0;\r
\r
*\r
* Exclusive STR command for 16 bit values\r
*/\r
-uint32_t __STREXH(uint16_t value, uint16_t *addr)\r
+//uint32_t __STREXH(uint16_t value, uint16_t *addr)\r
+__attribute__( ( always_inline , optimize("O0")) ) static __INLINE uint32_t __STREXH(uint16_t value, uint16_t *addr)\r
{\r
uint32_t result=0;\r
\r
* Exclusive STR command for 8 bit values\r
*/\r
extern uint32_t __STREXB(uint8_t value, uint8_t *addr);\r
+//__attribute__( ( always_inline , optimize("O0")) ) extern uint32_t __STREXB(uint8_t value, volatile uint8_t *addr)\r
\r
/**\r
* @brief STR Exclusive (16 bit)\r
* Exclusive STR command for 16 bit values\r
*/\r
extern uint32_t __STREXH(uint16_t value, uint16_t *addr);\r
+//__attribute__( ( always_inline , optimize("O0")) ) extern uint32_t __STREXH(uint16_t value, uint16_t *addr)\r
\r
/**\r
* @brief STR Exclusive (32 bit)\r