mbed library sources. Supersedes mbed-src.
Dependents: Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more
Diff: targets/TARGET_STM/TARGET_STM32F0/device/stm32f0xx_hal_crc.c
- Revision:
- 186:707f6e361f3e
- Parent:
- 180:96ed750bd169
--- a/targets/TARGET_STM/TARGET_STM32F0/device/stm32f0xx_hal_crc.c Thu Apr 19 17:12:19 2018 +0100 +++ b/targets/TARGET_STM/TARGET_STM32F0/device/stm32f0xx_hal_crc.c Fri Jun 22 16:45:37 2018 +0100 @@ -421,6 +421,15 @@ * @{ */ +#if __GNUC__ +# define MAY_ALIAS __attribute__ ((__may_alias__)) +#else +# define MAY_ALIAS +#endif + +typedef __IO uint8_t MAY_ALIAS uint8_io_t; +typedef __IO uint16_t MAY_ALIAS uint16_io_t; + /** * @brief Return the CRC handle state. * @param hcrc CRC handle @@ -468,16 +477,16 @@ { if (BufferLength%4U == 1U) { - *(uint8_t volatile*) (&hcrc->Instance->DR) = pBuffer[4*i]; + *(uint8_io_t*) (&hcrc->Instance->DR) = pBuffer[4*i]; } if (BufferLength%4U == 2U) { - *(uint16_t volatile*) (&hcrc->Instance->DR) = ((uint32_t)pBuffer[4*i]<<8) | (uint32_t)pBuffer[4*i+1]; + *(uint16_io_t*) (&hcrc->Instance->DR) = ((uint32_t)pBuffer[4*i]<<8) | (uint32_t)pBuffer[4*i+1]; } if (BufferLength%4U == 3U) { - *(uint16_t volatile*) (&hcrc->Instance->DR) = ((uint32_t)pBuffer[4*i]<<8) | (uint32_t)pBuffer[4*i+1]; - *(uint8_t volatile*) (&hcrc->Instance->DR) = pBuffer[4*i+2]; + *(uint16_io_t*) (&hcrc->Instance->DR) = ((uint32_t)pBuffer[4*i]<<8) | (uint32_t)pBuffer[4*i+1]; + *(uint8_io_t*) (&hcrc->Instance->DR) = pBuffer[4*i+2]; } } @@ -508,7 +517,7 @@ } if ((BufferLength%2U) != 0U) { - *(uint16_t volatile*) (&hcrc->Instance->DR) = pBuffer[2*i]; + *(uint16_io_t*) (&hcrc->Instance->DR) = pBuffer[2*i]; } /* Return the CRC computed value */