Skip to content

Commit 9eb618e

Browse files
authored
Added missing check for failure on umm_push_heap calls in Esp.cpp (#7767)
Added lost comments for Esp.h
1 parent fd69945 commit 9eb618e

File tree

2 files changed

+39
-3
lines changed

2 files changed

+39
-3
lines changed

cores/esp8266/Esp.cpp

+8-3
Original file line numberDiff line numberDiff line change
@@ -984,15 +984,20 @@ void EspClass::enableVM()
984984
void EspClass::setExternalHeap()
985985
{
986986
#ifdef UMM_HEAP_EXTERNAL
987-
if (vmEnabled)
988-
umm_push_heap(UMM_HEAP_EXTERNAL);
987+
if (vmEnabled) {
988+
if (!umm_push_heap(UMM_HEAP_EXTERNAL)) {
989+
panic();
990+
}
991+
}
989992
#endif
990993
}
991994

992995
void EspClass::setIramHeap()
993996
{
994997
#ifdef UMM_HEAP_IRAM
995-
umm_push_heap(UMM_HEAP_IRAM);
998+
if (!umm_push_heap(UMM_HEAP_IRAM)) {
999+
panic();
1000+
}
9961001
#endif
9971002
}
9981003

cores/esp8266/Esp.h

+31
Original file line numberDiff line numberDiff line change
@@ -215,10 +215,41 @@ class EspClass {
215215
#else
216216
uint32_t getCycleCount();
217217
#endif // !defined(CORE_MOCK)
218+
/**
219+
* @brief Installs VM exception handler to support External memory (Experimental)
220+
*
221+
* @param none
222+
* @return none
223+
*/
218224
void enableVM();
225+
/**
226+
* @brief Push current Heap selection and set Heap selection to DRAM.
227+
*
228+
* @param none
229+
* @return none
230+
*/
219231
void setDramHeap();
232+
/**
233+
* @brief Push current Heap selection and set Heap selection to IRAM.
234+
*
235+
* @param none
236+
* @return none
237+
*/
220238
void setIramHeap();
239+
/**
240+
* @brief Push current Heap selection and set Heap selection to External. (Experimental)
241+
*
242+
* @param none
243+
* @return none
244+
*/
221245
void setExternalHeap();
246+
/**
247+
* @brief Restores Heap selection back to value present when
248+
* setDramHeap, setIramHeap, or setExternalHeap was called.
249+
*
250+
* @param none
251+
* @return none
252+
*/
222253
void resetHeap();
223254
private:
224255
#ifdef UMM_HEAP_EXTERNAL

0 commit comments

Comments
 (0)