Skip to content

boards/lckfb-szpi-esp32s3: enable required IRQ vector table configs for uvc#18650

Merged
xiaoxiang781216 merged 1 commit intoapache:masterfrom
JianyuWang0623:lckfb-szpi-uvc-defconfig-fix
Mar 31, 2026
Merged

boards/lckfb-szpi-esp32s3: enable required IRQ vector table configs for uvc#18650
xiaoxiang781216 merged 1 commit intoapache:masterfrom
JianyuWang0623:lckfb-szpi-uvc-defconfig-fix

Conversation

@JianyuWang0623
Copy link
Copy Markdown
Contributor

@JianyuWang0623 JianyuWang0623 commented Mar 30, 2026

Summary

After recent upstream changes to the Xtensa ESP32-S3 interrupt handling, the minimal vector table mechanism now requires explicit enablement of CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC, CONFIG_ARCH_IRQ_TO_NDX, and CONFIG_ARCH_NUSER_INTERRUPTS.

Without these configs, the lckfb-szpi-esp32s3:uvc defconfig fails to build with:

error: CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC must be enabled

This patch adds the three required Kconfig options to the UVC defconfig:

  • CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y — enable dynamic minimal RAM vector table
  • CONFIG_ARCH_IRQ_TO_NDX=y — use up_irq_to_ndx() for IRQ-to-index mapping instead of RAM-based g_irqmap[]
  • CONFIG_ARCH_NUSER_INTERRUPTS=2 — declare the number of valid mapped user interrupts

Impact

Build-only fix. No runtime behavior change — these configs were already implicitly required by the board's existing CONFIG_ARCH_MINIMAL_VECTORTABLE=y setting; the upstream change made them explicitly mandatory.

No impact on other boards or configurations.

Testing

Build test on host (Ubuntu, x86_64):

$ ./tools/configure.sh -l lckfb-szpi-esp32s3:uvc
$ make -j$(nproc)

Build completes successfully. Verified defconfig is normalized:

$ ./tools/refresh.sh --silent lckfb-szpi-esp32s3:uvc

No diff after refresh, confirming config consistency.

…or uvc

Enable CONFIG_ARCH_IRQ_TO_NDX, CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC
and CONFIG_ARCH_NUSER_INTERRUPTS=2 which are now required by the Xtensa
ESP32-S3 interrupt handling after upstream changes.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
@JianyuWang0623 JianyuWang0623 marked this pull request as draft March 30, 2026 10:48
@github-actions github-actions bot added Size: XS The size of the change in this PR is very small Board: xtensa labels Mar 30, 2026
@simbit18
Copy link
Copy Markdown
Contributor

Hi @lupyuen @xiaoxiang781216 @linguini1 @jerpelea @michallenc This PR fixes the error that you can see on our NuttX mirror

Linux (xtensa-03)

====================================================================================
Configuration/Tool: lckfb-szpi-esp32s3/uvc
2026-03-30 16:23:35
------------------------------------------------------------------------------------
  Cleaning...
  Configuring...
  Building NuttX...
Error: ./common/espressif/esp_irq.c:125:4: error: #error "CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC must be enabled for           Xtensa-based Espressif SoCs. Additionally, enable           CONFIG_ARCH_IRQ_TO_NDX and set CONFIG_ARCH_NUSER_INTERRUPTS to 2.          Run 'make menuconfig' to select and set these options."
  125 | #  error "CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC must be enabled for \
      |    ^~~~~
ERROR: xtensa-esp32s3-elf-gcc failed: 1

@xiaoxiang781216 xiaoxiang781216 merged commit 7e29152 into apache:master Mar 31, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Board: xtensa Size: XS The size of the change in this PR is very small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants