mirror of
https://github.com/micropython/micropython.git
synced 2025-12-16 09:50:15 +01:00
esp32: Remove the ESP32 ringbuffer linker workaround.
Reverts workaround added inacbdbcd9. According to the linked ESP-IDF issue this was only a problem for ESP-IDF V5.0.x, and support for versions older than V5.2 was dropped in6e5d8d009. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
This commit is contained in:
committed by
Damien George
parent
4b1c666c28
commit
4d65b4e261
@@ -13,6 +13,6 @@ CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=8192
|
||||
# to PSRAM bug workarounds. Apply some options to reduce the firmware size.
|
||||
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y
|
||||
# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y # Workaround required: see main_esp32/linker.lf
|
||||
CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y
|
||||
CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
|
||||
CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y
|
||||
|
||||
@@ -193,8 +193,6 @@ list(APPEND IDF_COMPONENTS
|
||||
# Provide the default LD fragment if not set
|
||||
if (MICROPY_USER_LDFRAGMENTS)
|
||||
set(MICROPY_LDFRAGMENTS ${MICROPY_USER_LDFRAGMENTS})
|
||||
else()
|
||||
set(MICROPY_LDFRAGMENTS linker_esp32.lf)
|
||||
endif()
|
||||
|
||||
# Register the main IDF component.
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
# This fixes components/esp_ringbuf/linker.lf for ESP32 only to allow us to put
|
||||
# non-ISR ringbuf functions in flash.
|
||||
|
||||
# Requires that both RINGBUF_PLACE_FUNCTIONS_INTO_FLASH and RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH
|
||||
# are set to "n" (which is the default), otherwise this would result in duplicate section config
|
||||
# when resolving the linker fragments.
|
||||
|
||||
# The effect of this file is to leave the ISR functions in RAM (which we require), but apply a fixed
|
||||
# version of RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y (leaving out prvGetFreeSize and prvGetCurMaxSizeByteBuf)
|
||||
# See https://github.com/espressif/esp-idf/issues/13378
|
||||
|
||||
[mapping:esp_ringbuf_fix]
|
||||
archive: libesp_ringbuf.a
|
||||
entries:
|
||||
if IDF_TARGET_ESP32 = y:
|
||||
# This is exactly the list of functions from RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y,
|
||||
# but with prvGetFreeSize and prvGetCurMaxSizeByteBuf removed.
|
||||
ringbuf: prvGetCurMaxSizeNoSplit (default)
|
||||
ringbuf: prvGetCurMaxSizeAllowSplit (default)
|
||||
ringbuf: prvInitializeNewRingbuffer (default)
|
||||
ringbuf: prvReceiveGeneric (default)
|
||||
ringbuf: vRingbufferDelete (default)
|
||||
ringbuf: vRingbufferGetInfo (default)
|
||||
ringbuf: vRingbufferReturnItem (default)
|
||||
ringbuf: xRingbufferAddToQueueSetRead (default)
|
||||
ringbuf: xRingbufferCanRead (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)
|
||||
|
||||
# Everything else will have the default rule already applied (i.e. noflash_text).
|
||||
Reference in New Issue
Block a user