1
0
mirror of https://github.com/elua/elua.git synced 2025-01-25 01:02:54 +08:00
This commit is contained in:
James Snyder 2012-01-18 19:01:43 -06:00
parent a77fc80604
commit 879642e1e1

View File

@ -731,25 +731,25 @@ uint32_t __LDREXW(uint32_t *addr)
*/
uint32_t __STREXB(uint8_t value, uint8_t *addr)
{
uint32_t result=0;
//uint32_t result=0;
register uint32_t result asm ("r2");
__ASM volatile ("strexb %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );
return(result);
}
}
/**
* @brief STR Exclusive
* @brief STR Exclusive (16 bit)
*
* @param uint16_t *address
* @param uint16_t value to store
* @return uint32_t successful / failed
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command
* Exclusive STR command for 16 bit values
*/
uint32_t __STREXH(uint16_t value, uint16_t *addr)
{
uint32_t result=0;
//uint32_t result=0;
register uint32_t result asm ("r2");
__ASM volatile ("strexh %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );
return(result);
}