Skip to content

Commit 88d8f1e

Browse files
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 <[email protected]>
1 parent af3eadc commit 88d8f1e

File tree

5 files changed

+18
-0
lines changed

5 files changed

+18
-0
lines changed

samples/basic/minimal/README.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ The following configuration files are available:
1717
* :file:`no-preempt.conf`: Disable preemption
1818
* :file:`no-timers.conf`: Disable timers
1919
* :file:`arm.conf`: Arm-specific disabling of features
20+
* :file:`no-sw-isr-table.conf`: Disable software isr table generation
2021

2122
Building and measuring ROM size
2223
*******************************
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_CLOCK_CONTROL=n
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_CLOCK_CONTROL=n
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# No software ISR table, only direct ISR support in the kernel
2+
3+
CONFIG_GEN_SW_ISR_TABLE=n

samples/basic/minimal/sample.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,15 @@ tests:
105105
- kernel
106106
integration_platforms:
107107
- qemu_riscv32
108+
sample.minimal.no-mt-no-sw-isr-table.arm:
109+
extra_args: EXTRA_CONF_FILE='common.conf;no-mt.conf;no-sw-isr-table.conf;arm.conf'
110+
build_only: true
111+
platform_allow:
112+
- nrf54l15dk/nrf54l15/cpuapp
113+
- nrf54lm20dk/nrf54lm20a/cpuapp
114+
sample.minimal.no-mt-no-sw-isr-table.riscv:
115+
extra_args: CONF_FILE='common.conf;no-mt.conf;no-sw-isr-table.conf;riscv.conf'
116+
build_only: true
117+
platform_allow:
118+
- nrf54l15dk/nrf54l15/cpuflpr
119+
- nrf54lm20dk/nrf54lm20a/cpuflpr

0 commit comments

Comments
 (0)