• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

boards/29-Dec-2025-42

src/29-Dec-2025-178

CMakeLists.txtD29-Dec-2025190 95

KconfigD29-Dec-2025180 96

README.rstD29-Dec-20252.4 KiB9269

arm.confD29-Dec-202517 21

common-runtime.confD29-Dec-2025405 2416

common.confD29-Dec-2025515 3521

mt.confD29-Dec-2025146 86

no-mt.confD29-Dec-2025100 52

no-preempt.confD29-Dec-202532 21

no-sw-isr-table.confD29-Dec-202590 41

no-timers.confD29-Dec-202559 31

prj.confD29-Dec-202515 20

riscv.confD29-Dec-202519 21

sample.yamlD29-Dec-20253.4 KiB120119

x86.confD29-Dec-202517 21

README.rst

1.. zephyr:code-sample:: minimal
2   :name: Minimal footprint
3
4   Measure Zephyr's minimal ROM footprint in different configurations.
5
6Overview
7********
8
9This sample provides an empty ``main()`` and various configuration files that
10can be used to measure Zephyr's minimal ROM footprint in different
11configurations.
12
13The following configuration files are available:
14
15* :file:`mt.conf`: Enable multithreading
16* :file:`no-mt.conf`: Disable multithreading
17* :file:`no-preempt.conf`: Disable preemption
18* :file:`no-timers.conf`: Disable timers
19* :file:`arm.conf`: Arm-specific disabling of features
20* :file:`no-sw-isr-table.conf`: Disable software isr table generation
21
22Building and measuring ROM size
23*******************************
24
25The following combinations are suggested for comparing ROM sizes in different
26configurations. They all target the :ref:`reel_board` (Arm Aarch32 architecture).
27
28* Multithreading enabled
29
30  * Reference ROM size: 7-8KB
31
32  .. zephyr-app-commands::
33     :zephyr-app: samples/basic/minimal
34     :host-os: unix
35     :board: reel_board
36     :build-dir: reel_board/mt/
37     :conf: "common.conf mt.conf arm.conf"
38     :goals: rom_report
39     :compact:
40
41* Multithreading enabled, no preemption
42
43  * Reference ROM size: 7-8KB
44
45  .. zephyr-app-commands::
46     :zephyr-app: samples/basic/minimal
47     :host-os: unix
48     :board: reel_board
49     :build-dir: reel_board/mt-no-preempt/
50     :conf: "common.conf mt.conf no-preempt.conf arm.conf"
51     :goals: rom_report
52     :compact:
53
54* Multithreading enabled, no preemption, timers disabled
55
56  * Reference ROM size: 3-4KB
57
58  .. zephyr-app-commands::
59     :zephyr-app: samples/basic/minimal
60     :host-os: unix
61     :board: reel_board
62     :build-dir: reel_board/mt-no-preempt-no-timers/
63     :conf: "common.conf mt.conf no-preempt.conf no-timers.conf arm.conf"
64     :goals: rom_report
65     :compact:
66
67* Multithreading disabled, timers enabled
68
69  * Reference ROM size: 4-5KB
70
71  .. zephyr-app-commands::
72     :zephyr-app: samples/basic/minimal
73     :host-os: unix
74     :board: reel_board
75     :build-dir: reel_board/no-mt/
76     :conf: "common.conf no-mt.conf arm.conf"
77     :goals: rom_report
78     :compact:
79
80* Multithreading disabled, timers disabled
81
82  * Reference ROM size: 2-3KB
83
84  .. zephyr-app-commands::
85     :zephyr-app: samples/basic/minimal
86     :host-os: unix
87     :board: reel_board
88     :build-dir: reel_board/no-mt-no-timers/
89     :conf: "common.conf no-mt.conf no-timers.conf arm.conf"
90     :goals: rom_report
91     :compact:
92