Преглед изворни кода

freertos: port: add check for portMUX address validity

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
Mahavir Jain пре 8 година
родитељ
комит
b37e5d64b8
1 измењених фајлова са 5 додато и 0 уклоњено
  1. 5 0
      components/freertos/port.c

+ 5 - 0
components/freertos/port.c

@@ -298,6 +298,11 @@ void vPortAssertIfInISR()
  * For kernel use: Initialize a per-CPU mux. Mux will be initialized unlocked.
  */
 void vPortCPUInitializeMutex(portMUX_TYPE *mux) {
+#if defined(CONFIG_SPIRAM_SUPPORT)
+    // Check if mux belongs to internal memory (DRAM), prerequisite for atomic operations
+    configASSERT(esp_ptr_internal((const void *) mux));
+#endif
+
 #ifdef CONFIG_FREERTOS_PORTMUX_DEBUG
 	ets_printf("Initializing mux %p\n", mux);
 	mux->lastLockedFn="(never locked)";