samples: basic: minimal: add no-sw-isr-table option

Add option to build without software isr table for platforms which
support it (ARM and RISCV). The software ISR table takes up
kilobytes of RAM and introduces latency, and it is not needed if
CONFIG_MULTITHREADING=n.

The initially supported nrf54l15 and nrf54lm20 boards additionally
need CONFIG_CLOCK_CONTROL=n for the minimal sample so board configs
have been added for them. Note that the entry in sample.yaml uses
EXTRA_CONF_FILE to not overwrite the board specific CONF_FILE.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
This commit is contained in:
Bjarki Arge Andreasen
2025-08-06 13:10:32 +02:00
committed by Johan Hedberg
parent 1f294febf2
commit d54d0849e1
5 changed files with 18 additions and 0 deletions

View File

@@ -17,6 +17,7 @@ The following configuration files are available:
* :file:`no-preempt.conf`: Disable preemption
* :file:`no-timers.conf`: Disable timers
* :file:`arm.conf`: Arm-specific disabling of features
* :file:`no-sw-isr-table.conf`: Disable software isr table generation
Building and measuring ROM size
*******************************

View File

@@ -0,0 +1 @@
CONFIG_CLOCK_CONTROL=n

View File

@@ -0,0 +1 @@
CONFIG_CLOCK_CONTROL=n

View File

@@ -0,0 +1,3 @@
# No software ISR table, only direct ISR support in the kernel
CONFIG_GEN_SW_ISR_TABLE=n

View File

@@ -105,3 +105,15 @@ tests:
- kernel
integration_platforms:
- qemu_riscv32
sample.minimal.no-mt-no-sw-isr-table.arm:
extra_args: EXTRA_CONF_FILE='common.conf;no-mt.conf;no-sw-isr-table.conf;arm.conf'
build_only: true
platform_allow:
- nrf54l15dk/nrf54l15/cpuapp
- nrf54lm20dk/nrf54lm20a/cpuapp
sample.minimal.no-mt-no-sw-isr-table.riscv:
extra_args: CONF_FILE='common.conf;no-mt.conf;no-sw-isr-table.conf;riscv.conf'
build_only: true
platform_allow:
- nrf54l15dk/nrf54l15/cpuflpr
- nrf54lm20dk/nrf54lm20a/cpuflpr