diff --git a/components/esp_ringbuf/Kconfig b/components/esp_ringbuf/Kconfig index db646218c1..b0258c19b7 100644 --- a/components/esp_ringbuf/Kconfig +++ b/components/esp_ringbuf/Kconfig @@ -11,14 +11,15 @@ menu "ESP Ringbuf" config RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH bool "Place ISR ringbuf functions into flash" + depends on RINGBUF_PLACE_FUNCTIONS_INTO_FLASH default n help - Place non-ISR ringbuf functions (like xRingbufferSendFromISR/xRingbufferReceiveFromISR) into flash. + Place ISR ringbuf functions (like xRingbufferSendFromISR/xRingbufferReceiveFromISR) into flash. This frees up IRAM, but the functions can no longer be called when the cache is disabled or from an IRAM interrupt context. - This option is not compatible with ESP-IDF drivers which is configured to run the ISR from an IRAM context, - e.g. CONFIG_UART_ISR_IN_IRAM. + This option is not compatible with ESP-IDF drivers which are configured to + run the ISR from an IRAM context, e.g. CONFIG_UART_ISR_IN_IRAM. endmenu diff --git a/components/esp_ringbuf/linker.lf b/components/esp_ringbuf/linker.lf index 9493ca4bb0..6af6b56d24 100644 --- a/components/esp_ringbuf/linker.lf +++ b/components/esp_ringbuf/linker.lf @@ -8,17 +8,25 @@ entries: ringbuf: prvGetCurMaxSizeByteBuf (default) ringbuf: prvInitializeNewRingbuffer (default) ringbuf: prvReceiveGeneric (default) + ringbuf: prvSendAcquireGeneric (default) + ringbuf: prvGetFreeSize (default) ringbuf: vRingbufferDelete (default) ringbuf: vRingbufferGetInfo (default) ringbuf: vRingbufferReturnItem (default) ringbuf: xRingbufferAddToQueueSetRead (default) ringbuf: xRingbufferCreate (default) ringbuf: xRingbufferCreateStatic (default) + ringbuf: xRingbufferCreateNoSplit (default) ringbuf: xRingbufferReceive (default) ringbuf: xRingbufferReceiveSplit (default) ringbuf: xRingbufferReceiveUpTo (default) ringbuf: xRingbufferRemoveFromQueueSetRead (default) ringbuf: xRingbufferSend (default) + ringbuf: xRingbufferSendAcquire (default) + ringbuf: xRingbufferSendComplete (default) + ringbuf: xRingbufferPrintInfo (default) + ringbuf: xRingbufferGetMaxItemSize (default) + ringbuf: xRingbufferGetCurFreeSize (default) if RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH = y: ringbuf: prvReturnItemByteBuf (default) @@ -31,7 +39,9 @@ entries: ringbuf: prvAcquireItemNoSplit (default) ringbuf: prvCheckItemFitsByteBuffer (default) ringbuf: prvCheckItemFitsDefault (default) + ringbuf: prvCheckItemAvail (default) ringbuf: prvSendItemDoneNoSplit (default) + ringbuf: prvReceiveGenericFromISR (default) ringbuf: xRingbufferSendFromISR (default) ringbuf: xRingbufferReceiveFromISR (default) ringbuf: xRingbufferReceiveSplitFromISR (default)