mirror of https://github.com/ARMmbed/mbed-os.git
nrf52840: add workaround for RTC errata 20 include thered main stack for cmsis rtos
parent
60d90ac939
commit
baaa6086e6
|
@ -354,7 +354,7 @@ __attribute__((used)) void _mutex_release (OS_ID *mutex) {
|
||||||
/* Main Thread definition */
|
/* Main Thread definition */
|
||||||
extern void pre_main (void);
|
extern void pre_main (void);
|
||||||
|
|
||||||
#if defined(TARGET_MCU_NRF52832) ||\
|
#if defined(TARGET_MCU_NRF52840) ||\
|
||||||
defined(TARGET_MCU_NRF51822) || defined(TARGET_MCU_NRF52832) || defined (TARGET_STM32F334R8) ||\
|
defined(TARGET_MCU_NRF51822) || defined(TARGET_MCU_NRF52832) || defined (TARGET_STM32F334R8) ||\
|
||||||
defined(TARGET_STM32F070RB) || defined(TARGET_STM32F072RB) || \
|
defined(TARGET_STM32F070RB) || defined(TARGET_STM32F072RB) || \
|
||||||
defined(TARGET_STM32F302R8) || defined(TARGET_STM32F303K8) || defined (TARGET_STM32F334C8) ||\
|
defined(TARGET_STM32F302R8) || defined(TARGET_STM32F303K8) || defined (TARGET_STM32F334C8) ||\
|
||||||
|
|
|
@ -76,6 +76,20 @@ void COMMON_RTC_IRQ_HANDLER(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Function for fix errata 20: RTC Register values are invalid
|
||||||
|
__STATIC_INLINE void errata_20(void)
|
||||||
|
{
|
||||||
|
#if defined(NRF52_ERRATA_20)
|
||||||
|
if (!softdevice_handler_is_enabled())
|
||||||
|
{
|
||||||
|
NRF_CLOCK->EVENTS_LFCLKSTARTED = 0;
|
||||||
|
NRF_CLOCK->TASKS_LFCLKSTART = 1;
|
||||||
|
while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0) {}
|
||||||
|
}
|
||||||
|
NRF_RTC1->TASKS_STOP = 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#if (defined (__ICCARM__)) && defined(TARGET_MCU_NRF51822)//IAR
|
#if (defined (__ICCARM__)) && defined(TARGET_MCU_NRF51822)//IAR
|
||||||
__stackless __task
|
__stackless __task
|
||||||
#endif
|
#endif
|
||||||
|
@ -87,6 +101,8 @@ void common_rtc_init(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
errata_20();
|
||||||
|
|
||||||
NVIC_SetVector(RTC1_IRQn, (uint32_t)RTC1_IRQHandler);
|
NVIC_SetVector(RTC1_IRQn, (uint32_t)RTC1_IRQHandler);
|
||||||
|
|
||||||
// RTC is driven by the low frequency (32.768 kHz) clock, a proper request
|
// RTC is driven by the low frequency (32.768 kHz) clock, a proper request
|
||||||
|
|
|
@ -2657,7 +2657,7 @@
|
||||||
"MCU_NRF52840": {
|
"MCU_NRF52840": {
|
||||||
"inherits": ["Target"],
|
"inherits": ["Target"],
|
||||||
"core": "Cortex-M4F",
|
"core": "Cortex-M4F",
|
||||||
"macros": ["TARGET_NRF52840", "BLE_STACK_SUPPORT_REQD", "SOFTDEVICE_PRESENT", "S140", "NRF_SD_BLE_API_VERSION=5", "NRF52840_XXAA", "NRF_DFU_SETTINGS_VERSION=1"],
|
"macros": ["TARGET_NRF52840", "BLE_STACK_SUPPORT_REQD", "SOFTDEVICE_PRESENT", "S140", "NRF_SD_BLE_API_VERSION=5", "NRF52840_XXAA", "NRF_DFU_SETTINGS_VERSION=1", "NRF_SD_BLE_API_VERSION=5"],
|
||||||
"extra_labels": ["NORDIC", "MCU_NRF52840", "NRF5_SDK13"],
|
"extra_labels": ["NORDIC", "MCU_NRF52840", "NRF5_SDK13"],
|
||||||
"OUTPUT_EXT": "hex",
|
"OUTPUT_EXT": "hex",
|
||||||
"is_disk_virtual": true,
|
"is_disk_virtual": true,
|
||||||
|
@ -2695,7 +2695,7 @@
|
||||||
"NRF52840_DK": {
|
"NRF52840_DK": {
|
||||||
"supported_form_factors": ["ARDUINO"],
|
"supported_form_factors": ["ARDUINO"],
|
||||||
"inherits": ["MCU_NRF52840"],
|
"inherits": ["MCU_NRF52840"],
|
||||||
"macros_add": ["BOARD_PCA10056", "CONFIG_GPIO_AS_PINRESET", "SWI_DISABLE0"],
|
"macros_add": ["BOARD_PCA10056", "CONFIG_GPIO_AS_PINRESET", "SWI_DISABLE0", "NRF52_ERRATA_20"],
|
||||||
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SERIAL_FC", "SLEEP", "SPI", "SPI_ASYNCH", "SPISLAVE"],
|
"device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "I2C_ASYNCH", "INTERRUPTIN", "LOWPOWERTIMER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SERIAL_FC", "SLEEP", "SPI", "SPI_ASYNCH", "SPISLAVE"],
|
||||||
"release_versions": ["2", "5"],
|
"release_versions": ["2", "5"],
|
||||||
"device_name": "nRF52840_xxAA"
|
"device_name": "nRF52840_xxAA"
|
||||||
|
|
Loading…
Reference in New Issue