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 21Building and measuring ROM size 22******************************* 23 24The following combinations are suggested for comparing ROM sizes in different 25configurations. They all target the :ref:`reel_board` (Arm Aarch32 architecture). 26 27* Multithreading enabled 28 29 * Reference ROM size: 7-8KB 30 31 .. zephyr-app-commands:: 32 :zephyr-app: samples/basic/minimal 33 :host-os: unix 34 :board: reel_board 35 :build-dir: reel_board/mt/ 36 :conf: "common.conf mt.conf arm.conf" 37 :goals: rom_report 38 :compact: 39 40* Multithreading enabled, no preemption 41 42 * Reference ROM size: 7-8KB 43 44 .. zephyr-app-commands:: 45 :zephyr-app: samples/basic/minimal 46 :host-os: unix 47 :board: reel_board 48 :build-dir: reel_board/mt-no-preempt/ 49 :conf: "common.conf mt.conf no-preempt.conf arm.conf" 50 :goals: rom_report 51 :compact: 52 53* Multithreading enabled, no preemption, timers disabled 54 55 * Reference ROM size: 3-4KB 56 57 .. zephyr-app-commands:: 58 :zephyr-app: samples/basic/minimal 59 :host-os: unix 60 :board: reel_board 61 :build-dir: reel_board/mt-no-preempt-no-timers/ 62 :conf: "common.conf mt.conf no-preempt.conf no-timers.conf arm.conf" 63 :goals: rom_report 64 :compact: 65 66* Multithreading disabled, timers enabled 67 68 * Reference ROM size: 4-5KB 69 70 .. zephyr-app-commands:: 71 :zephyr-app: samples/basic/minimal 72 :host-os: unix 73 :board: reel_board 74 :build-dir: reel_board/no-mt/ 75 :conf: "common.conf no-mt.conf arm.conf" 76 :goals: rom_report 77 :compact: 78 79* Multithreading disabled, timers disabled 80 81 * Reference ROM size: 2-3KB 82 83 .. zephyr-app-commands:: 84 :zephyr-app: samples/basic/minimal 85 :host-os: unix 86 :board: reel_board 87 :build-dir: reel_board/no-mt-no-timers/ 88 :conf: "common.conf no-mt.conf no-timers.conf arm.conf" 89 :goals: rom_report 90 :compact: 91