diff --git a/doc/rt/reports/benchmarks/stm32f3-72mhz-gcc-fpu.txt b/doc/rt/reports/benchmarks/stm32f3-72mhz-gcc-fpu.txt new file mode 100644 index 000000000..4909104f7 --- /dev/null +++ b/doc/rt/reports/benchmarks/stm32f3-72mhz-gcc-fpu.txt @@ -0,0 +1,372 @@ + +*** ChibiOS/RT Test Suite +*** +*** Compiled: Mar 17 2020 - 12:21:22 +*** Platform: STM32F303xC Analog & DSP +*** Test Board: STMicroelectronics STM32F3-Discovery +*** +*** Text size: 36344 bytes +*** RO data size: 9848 bytes +*** Data size: 220 bytes +*** BSS size: 6624 bytes + +============================================================================ +=== Test Sequence 1 (Information) +---------------------------------------------------------------------------- +--- Test Case 1.1 (Port Info) +--- Architecture: ARMv7E-M +--- Core Variant: Cortex-M4F +--- Compiler: GCC 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] +--- Port Info: Advanced kernel mode +--- Natural alignment: 4 +--- Stack alignment: 8 +--- Working area alignment: 8 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Kernel Info) +--- Product: ChibiOS/RT +--- Stable Flag: 1 +--- Version String: 6.1.0 +--- Major Number: 6 +--- Minor Number: 1 +--- Patch Number: 0 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Kernel Settings) +--- CH_CFG_ST_RESOLUTION: 32 +--- CH_CFG_ST_FREQUENCY: 10000 +--- CH_CFG_INTERVALS_SIZE: 32 +--- CH_CFG_TIME_TYPES_SIZE: 32 +--- CH_CFG_ST_TIMEDELTA: 2 +--- CH_CFG_TIME_QUANTUM: 0 +--- CH_CFG_MEMCORE_SIZE: 0 +--- CH_CFG_NO_IDLE_THREAD: 0 +--- CH_CFG_OPTIMIZE_SPEED: 1 +--- CH_CFG_USE_TM: 1 +--- CH_CFG_USE_REGISTRY: 1 +--- CH_CFG_USE_WAITEXIT: 1 +--- CH_CFG_USE_SEMAPHORES: 1 +--- CH_CFG_USE_SEMAPHORES_PRIORITY: 0 +--- CH_CFG_USE_MUTEXES: 1 +--- CH_CFG_USE_MUTEXES_RECURSIVE: 0 +--- CH_CFG_USE_CONDVARS: 1 +--- CH_CFG_USE_CONDVARS_TIMEOUT: 1 +--- CH_CFG_USE_EVENTS: 1 +--- CH_CFG_USE_EVENTS_TIMEOUT: 1 +--- CH_CFG_USE_MESSAGES: 1 +--- CH_CFG_USE_MESSAGES_PRIORITY: 0 +--- CH_CFG_USE_DYNAMIC: 1 +--- CH_DBG_STATISTICS: 0 +--- CH_DBG_SYSTEM_STATE_CHECK: 0 +--- CH_DBG_ENABLE_CHECKS: 0 +--- CH_DBG_ENABLE_ASSERTS: 0 +--- CH_DBG_TRACE_MASK: 255 +--- CH_DBG_TRACE_BUFFER_SIZE: 128 +--- CH_DBG_ENABLE_STACK_CHECK: 0 +--- CH_DBG_FILL_THREADS: 0 +--- CH_DBG_THREADS_PROFILING: 0 +--- Result: SUCCESS +============================================================================ +=== Test Sequence 2 (System layer and port interface) +---------------------------------------------------------------------------- +--- Test Case 2.1 (System integrity functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Critical zones functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Interrupts handling functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 3 (Time and Intervals Functionality) +---------------------------------------------------------------------------- +--- Test Case 3.1 (System Tick Counter functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Time ranges functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 4 (Threads Functionality) +---------------------------------------------------------------------------- +--- Test Case 4.1 (Thread Sleep functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.2 (Ready List functionality, threads priority order) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.3 (Priority change test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.4 (Priority change test with Priority Inheritance) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 5 (Suspend/Resume) +---------------------------------------------------------------------------- +--- Test Case 5.1 (Suspend and Resume functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 6 (Counter Semaphores) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Semaphore primitives, no state change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Semaphore enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Semaphore timeout test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.4 (Testing chSemAddCounterI() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.5 (Testing chSemWaitSignal() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.6 (Testing Binary Semaphores special case) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 7 (Mutexes, Condition Variables and Priority Inheritance) +---------------------------------------------------------------------------- +--- Test Case 7.1 (Priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.2 (Priority return verification) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.3 (Repeated locks, non recursive scenario) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.4 (Condition Variable signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.5 (Condition Variable broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.6 (Condition Variable priority boost test) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 8 (Synchronous Messages) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Messages Server loop) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 9 (Event Sources and Event Flags) +---------------------------------------------------------------------------- +--- Test Case 9.1 (Events registration) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Event Flags dispatching) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Events Flags wait using chEvtWaitOne()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.4 (Events Flags wait using chEvtWaitAny()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.5 (Events Flags wait using chEvtWaitAll()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.6 (Events Flags wait timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.7 (Broadcasting using chEvtBroadcast()) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 10 (Dynamic threads) +---------------------------------------------------------------------------- +--- Test Case 10.1 (Threads creation from Memory Heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Threads creation from Memory Pool) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 11 (Benchmarks) +---------------------------------------------------------------------------- +--- Test Case 11.1 (Messages performance #1) +--- Score : 218137 msgs/S, 436274 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Messages performance #2) +--- Score : 178184 msgs/S, 356368 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Messages performance #3) +--- Score : 178184 msgs/S, 356368 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Context Switch performance) +--- Score : 628696 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Threads performance, full cycle) +--- Score : 137376 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Threads performance, create/exit only) +--- Score : 173044 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Mass reschedule performance) +--- Score : 56416 reschedules/S, 338496 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Round-Robin voluntary reschedule) +--- Score : 436280 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Virtual Timers set/reset performance) +--- Score : 455784 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Semaphores wait/signal performance) +--- Score : 1180076 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Mutexes lock/unlock performance) +--- Score : 666520 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (RAM Footprint) +--- System: 120 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- EventS: 4 bytes +--- EventL: 20 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS + +*** ChibiOS OS Library Test Suite +*** +*** Compiled: Mar 17 2020 - 12:21:22 +*** Platform: STM32F303xC Analog & DSP +*** Test Board: STMicroelectronics STM32F3-Discovery +*** +*** Text size: 36344 bytes +*** RO data size: 9848 bytes +*** Data size: 220 bytes +*** BSS size: 6624 bytes + +============================================================================ +=== Test Sequence 1 (Information) +---------------------------------------------------------------------------- +--- Test Case 1.1 (Port Info) +--- Architecture: ARMv7E-M +--- Core Variant: Cortex-M4F +--- Compiler: GCC 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] +--- Port Info: Advanced kernel mode +--- Natural alignment: 4 +--- Stack alignment: 8 +--- Working area alignment: 8 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (OS Library Info) +--- Product: ChibiOS/LIB +--- Stable Flag: 1 +--- Version String: 1.2.0 +--- Major Number: 1 +--- Minor Number: 2 +--- Patch Number: 0 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (OS Library Settings) +--- CH_CFG_USE_MAILBOXES: 1 +--- CH_CFG_USE_MEMCORE: 1 +--- CH_CFG_USE_HEAP: 1 +--- CH_CFG_USE_MEMPOOLS: 1 +--- CH_CFG_USE_OBJ_FIFOS: 1 +--- CH_CFG_USE_PIPES: 1 +--- CH_CFG_USE_OBJ_CACHES: 1 +--- CH_CFG_USE_DELEGATES: 1 +--- CH_CFG_USE_FACTORY: 1 +--- CH_CFG_FACTORY_MAX_NAMES_LENGTH: 8 +--- CH_CFG_FACTORY_OBJECTS_REGISTRY: 1 +--- CH_CFG_FACTORY_GENERIC_BUFFERS: 1 +--- CH_CFG_FACTORY_SEMAPHORES: 1 +--- CH_CFG_FACTORY_MAILBOXES: 1 +--- CH_CFG_FACTORY_OBJ_FIFOS: 1 +--- CH_CFG_FACTORY_PIPES: 1 +--- Result: SUCCESS +============================================================================ +=== Test Sequence 2 (Mailboxes) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Mailbox normal API, non-blocking tests) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Mailbox I-Class API, non-blocking tests) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Mailbox timeouts) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 3 (Pipes) +---------------------------------------------------------------------------- +--- Test Case 3.1 (Pipes normal API, non-blocking tests) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Pipe timeouts) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 4 (Jobs Queues) +---------------------------------------------------------------------------- +--- Test Case 4.1 (Dispatcher test) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 5 (Thread Delegates) +---------------------------------------------------------------------------- +--- Test Case 5.1 (Dispatcher test) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 6 (Objects Caches) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Cache initialization) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 7 (Memory Pools) +---------------------------------------------------------------------------- +--- Test Case 7.1 (Loading and emptying a memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.2 (Loading and emptying a guarded memory pool without waiting) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.3 (Guarded Memory Pools timeout) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 8 (Memory Heaps) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Allocation and fragmentation) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.2 (Default Heap) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 9 (Objects Factory) +---------------------------------------------------------------------------- +--- Test Case 9.1 (Objects Registry) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic Buffers Factory) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic Semaphores Factory) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.4 (Dynamic Mailboxes Factory) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.5 (Dynamic Objects FIFOs Factory) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.6 (Dynamic Pipes Factory) +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS + diff --git a/doc/rt/reports/benchmarks/stm32f3-72mhz-gcc.txt b/doc/rt/reports/benchmarks/stm32f3-72mhz-gcc.txt new file mode 100644 index 000000000..9a8942ba7 --- /dev/null +++ b/doc/rt/reports/benchmarks/stm32f3-72mhz-gcc.txt @@ -0,0 +1,372 @@ + +*** ChibiOS/RT Test Suite +*** +*** Compiled: Mar 17 2020 - 12:18:44 +*** Platform: STM32F303xC Analog & DSP +*** Test Board: STMicroelectronics STM32F3-Discovery +*** +*** Text size: 36248 bytes +*** RO data size: 9848 bytes +*** Data size: 220 bytes +*** BSS size: 5128 bytes + +============================================================================ +=== Test Sequence 1 (Information) +---------------------------------------------------------------------------- +--- Test Case 1.1 (Port Info) +--- Architecture: ARMv7E-M +--- Core Variant: Cortex-M4 +--- Compiler: GCC 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] +--- Port Info: Advanced kernel mode +--- Natural alignment: 4 +--- Stack alignment: 8 +--- Working area alignment: 8 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Kernel Info) +--- Product: ChibiOS/RT +--- Stable Flag: 1 +--- Version String: 6.1.0 +--- Major Number: 6 +--- Minor Number: 1 +--- Patch Number: 0 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Kernel Settings) +--- CH_CFG_ST_RESOLUTION: 32 +--- CH_CFG_ST_FREQUENCY: 10000 +--- CH_CFG_INTERVALS_SIZE: 32 +--- CH_CFG_TIME_TYPES_SIZE: 32 +--- CH_CFG_ST_TIMEDELTA: 2 +--- CH_CFG_TIME_QUANTUM: 0 +--- CH_CFG_MEMCORE_SIZE: 0 +--- CH_CFG_NO_IDLE_THREAD: 0 +--- CH_CFG_OPTIMIZE_SPEED: 1 +--- CH_CFG_USE_TM: 1 +--- CH_CFG_USE_REGISTRY: 1 +--- CH_CFG_USE_WAITEXIT: 1 +--- CH_CFG_USE_SEMAPHORES: 1 +--- CH_CFG_USE_SEMAPHORES_PRIORITY: 0 +--- CH_CFG_USE_MUTEXES: 1 +--- CH_CFG_USE_MUTEXES_RECURSIVE: 0 +--- CH_CFG_USE_CONDVARS: 1 +--- CH_CFG_USE_CONDVARS_TIMEOUT: 1 +--- CH_CFG_USE_EVENTS: 1 +--- CH_CFG_USE_EVENTS_TIMEOUT: 1 +--- CH_CFG_USE_MESSAGES: 1 +--- CH_CFG_USE_MESSAGES_PRIORITY: 0 +--- CH_CFG_USE_DYNAMIC: 1 +--- CH_DBG_STATISTICS: 0 +--- CH_DBG_SYSTEM_STATE_CHECK: 0 +--- CH_DBG_ENABLE_CHECKS: 0 +--- CH_DBG_ENABLE_ASSERTS: 0 +--- CH_DBG_TRACE_MASK: 255 +--- CH_DBG_TRACE_BUFFER_SIZE: 128 +--- CH_DBG_ENABLE_STACK_CHECK: 0 +--- CH_DBG_FILL_THREADS: 0 +--- CH_DBG_THREADS_PROFILING: 0 +--- Result: SUCCESS +============================================================================ +=== Test Sequence 2 (System layer and port interface) +---------------------------------------------------------------------------- +--- Test Case 2.1 (System integrity functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Critical zones functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Interrupts handling functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 3 (Time and Intervals Functionality) +---------------------------------------------------------------------------- +--- Test Case 3.1 (System Tick Counter functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Time ranges functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 4 (Threads Functionality) +---------------------------------------------------------------------------- +--- Test Case 4.1 (Thread Sleep functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.2 (Ready List functionality, threads priority order) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.3 (Priority change test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.4 (Priority change test with Priority Inheritance) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 5 (Suspend/Resume) +---------------------------------------------------------------------------- +--- Test Case 5.1 (Suspend and Resume functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 6 (Counter Semaphores) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Semaphore primitives, no state change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Semaphore enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Semaphore timeout test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.4 (Testing chSemAddCounterI() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.5 (Testing chSemWaitSignal() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.6 (Testing Binary Semaphores special case) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 7 (Mutexes, Condition Variables and Priority Inheritance) +---------------------------------------------------------------------------- +--- Test Case 7.1 (Priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.2 (Priority return verification) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.3 (Repeated locks, non recursive scenario) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.4 (Condition Variable signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.5 (Condition Variable broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.6 (Condition Variable priority boost test) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 8 (Synchronous Messages) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Messages Server loop) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 9 (Event Sources and Event Flags) +---------------------------------------------------------------------------- +--- Test Case 9.1 (Events registration) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Event Flags dispatching) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Events Flags wait using chEvtWaitOne()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.4 (Events Flags wait using chEvtWaitAny()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.5 (Events Flags wait using chEvtWaitAll()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.6 (Events Flags wait timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.7 (Broadcasting using chEvtBroadcast()) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 10 (Dynamic threads) +---------------------------------------------------------------------------- +--- Test Case 10.1 (Threads creation from Memory Heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Threads creation from Memory Pool) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 11 (Benchmarks) +---------------------------------------------------------------------------- +--- Test Case 11.1 (Messages performance #1) +--- Score : 274764 msgs/S, 549528 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Messages performance #2) +--- Score : 214253 msgs/S, 428506 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Messages performance #3) +--- Score : 214254 msgs/S, 428508 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Context Switch performance) +--- Score : 894264 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Threads performance, full cycle) +--- Score : 159973 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Threads performance, create/exit only) +--- Score : 210495 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Mass reschedule performance) +--- Score : 67154 reschedules/S, 402924 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Round-Robin voluntary reschedule) +--- Score : 549520 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Virtual Timers set/reset performance) +--- Score : 450110 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Semaphores wait/signal performance) +--- Score : 1180124 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Mutexes lock/unlock performance) +--- Score : 666552 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (RAM Footprint) +--- System: 120 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- EventS: 4 bytes +--- EventL: 20 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS + +*** ChibiOS OS Library Test Suite +*** +*** Compiled: Mar 17 2020 - 12:18:44 +*** Platform: STM32F303xC Analog & DSP +*** Test Board: STMicroelectronics STM32F3-Discovery +*** +*** Text size: 36248 bytes +*** RO data size: 9848 bytes +*** Data size: 220 bytes +*** BSS size: 5128 bytes + +============================================================================ +=== Test Sequence 1 (Information) +---------------------------------------------------------------------------- +--- Test Case 1.1 (Port Info) +--- Architecture: ARMv7E-M +--- Core Variant: Cortex-M4 +--- Compiler: GCC 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] +--- Port Info: Advanced kernel mode +--- Natural alignment: 4 +--- Stack alignment: 8 +--- Working area alignment: 8 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (OS Library Info) +--- Product: ChibiOS/LIB +--- Stable Flag: 1 +--- Version String: 1.2.0 +--- Major Number: 1 +--- Minor Number: 2 +--- Patch Number: 0 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (OS Library Settings) +--- CH_CFG_USE_MAILBOXES: 1 +--- CH_CFG_USE_MEMCORE: 1 +--- CH_CFG_USE_HEAP: 1 +--- CH_CFG_USE_MEMPOOLS: 1 +--- CH_CFG_USE_OBJ_FIFOS: 1 +--- CH_CFG_USE_PIPES: 1 +--- CH_CFG_USE_OBJ_CACHES: 1 +--- CH_CFG_USE_DELEGATES: 1 +--- CH_CFG_USE_FACTORY: 1 +--- CH_CFG_FACTORY_MAX_NAMES_LENGTH: 8 +--- CH_CFG_FACTORY_OBJECTS_REGISTRY: 1 +--- CH_CFG_FACTORY_GENERIC_BUFFERS: 1 +--- CH_CFG_FACTORY_SEMAPHORES: 1 +--- CH_CFG_FACTORY_MAILBOXES: 1 +--- CH_CFG_FACTORY_OBJ_FIFOS: 1 +--- CH_CFG_FACTORY_PIPES: 1 +--- Result: SUCCESS +============================================================================ +=== Test Sequence 2 (Mailboxes) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Mailbox normal API, non-blocking tests) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Mailbox I-Class API, non-blocking tests) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Mailbox timeouts) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 3 (Pipes) +---------------------------------------------------------------------------- +--- Test Case 3.1 (Pipes normal API, non-blocking tests) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Pipe timeouts) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 4 (Jobs Queues) +---------------------------------------------------------------------------- +--- Test Case 4.1 (Dispatcher test) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 5 (Thread Delegates) +---------------------------------------------------------------------------- +--- Test Case 5.1 (Dispatcher test) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 6 (Objects Caches) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Cache initialization) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 7 (Memory Pools) +---------------------------------------------------------------------------- +--- Test Case 7.1 (Loading and emptying a memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.2 (Loading and emptying a guarded memory pool without waiting) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.3 (Guarded Memory Pools timeout) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 8 (Memory Heaps) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Allocation and fragmentation) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.2 (Default Heap) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 9 (Objects Factory) +---------------------------------------------------------------------------- +--- Test Case 9.1 (Objects Registry) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic Buffers Factory) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic Semaphores Factory) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.4 (Dynamic Mailboxes Factory) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.5 (Dynamic Objects FIFOs Factory) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.6 (Dynamic Pipes Factory) +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS + diff --git a/doc/rt/reports/benchmarks/stm32f3-72mhz-iar-fpu.txt b/doc/rt/reports/benchmarks/stm32f3-72mhz-iar-fpu.txt new file mode 100644 index 000000000..a65d6fb2e --- /dev/null +++ b/doc/rt/reports/benchmarks/stm32f3-72mhz-iar-fpu.txt @@ -0,0 +1,239 @@ + +*** ChibiOS/RT Test Suite +*** +*** Compiled: Mar 17 2020 - 13:48:00 +*** Platform: STM32F303xC Analog & DSP +*** Test Board: STMicroelectronics STM32F3-Discovery + +============================================================================ +=== Test Sequence 1 (Information) +---------------------------------------------------------------------------- +--- Test Case 1.1 (Port Info) +--- Architecture: ARMv7E-M +--- Core Variant: Cortex-M4F +--- Compiler: IAR +--- Port Info: Advanced kernel mode +--- Natural alignment: 4 +--- Stack alignment: 8 +--- Working area alignment: 8 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Kernel Info) +--- Product: ChibiOS/RT +--- Stable Flag: 1 +--- Version String: 6.1.0 +--- Major Number: 6 +--- Minor Number: 1 +--- Patch Number: 0 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Kernel Settings) +--- CH_CFG_ST_RESOLUTION: 32 +--- CH_CFG_ST_FREQUENCY: 10000 +--- CH_CFG_INTERVALS_SIZE: 32 +--- CH_CFG_TIME_TYPES_SIZE: 32 +--- CH_CFG_ST_TIMEDELTA: 2 +--- CH_CFG_TIME_QUANTUM: 0 +--- CH_CFG_MEMCORE_SIZE: 0 +--- CH_CFG_NO_IDLE_THREAD: 0 +--- CH_CFG_OPTIMIZE_SPEED: 1 +--- CH_CFG_USE_TM: 1 +--- CH_CFG_USE_REGISTRY: 1 +--- CH_CFG_USE_WAITEXIT: 1 +--- CH_CFG_USE_SEMAPHORES: 1 +--- CH_CFG_USE_SEMAPHORES_PRIORITY: 0 +--- CH_CFG_USE_MUTEXES: 1 +--- CH_CFG_USE_MUTEXES_RECURSIVE: 0 +--- CH_CFG_USE_CONDVARS: 1 +--- CH_CFG_USE_CONDVARS_TIMEOUT: 1 +--- CH_CFG_USE_EVENTS: 1 +--- CH_CFG_USE_EVENTS_TIMEOUT: 1 +--- CH_CFG_USE_MESSAGES: 1 +--- CH_CFG_USE_MESSAGES_PRIORITY: 0 +--- CH_CFG_USE_DYNAMIC: 1 +--- CH_DBG_STATISTICS: 0 +--- CH_DBG_SYSTEM_STATE_CHECK: 0 +--- CH_DBG_ENABLE_CHECKS: 0 +--- CH_DBG_ENABLE_ASSERTS: 0 +--- CH_DBG_TRACE_MASK: 255 +--- CH_DBG_TRACE_BUFFER_SIZE: 128 +--- CH_DBG_ENABLE_STACK_CHECK: 0 +--- CH_DBG_FILL_THREADS: 0 +--- CH_DBG_THREADS_PROFILING: 0 +--- Result: SUCCESS +============================================================================ +=== Test Sequence 2 (System layer and port interface) +---------------------------------------------------------------------------- +--- Test Case 2.1 (System integrity functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Critical zones functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Interrupts handling functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 3 (Time and Intervals Functionality) +---------------------------------------------------------------------------- +--- Test Case 3.1 (System Tick Counter functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Time ranges functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 4 (Threads Functionality) +---------------------------------------------------------------------------- +--- Test Case 4.1 (Thread Sleep functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.2 (Ready List functionality, threads priority order) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.3 (Priority change test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.4 (Priority change test with Priority Inheritance) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 5 (Suspend/Resume) +---------------------------------------------------------------------------- +--- Test Case 5.1 (Suspend and Resume functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 6 (Counter Semaphores) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Semaphore primitives, no state change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Semaphore enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Semaphore timeout test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.4 (Testing chSemAddCounterI() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.5 (Testing chSemWaitSignal() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.6 (Testing Binary Semaphores special case) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 7 (Mutexes, Condition Variables and Priority Inheritance) +---------------------------------------------------------------------------- +--- Test Case 7.1 (Priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.2 (Priority return verification) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.3 (Repeated locks, non recursive scenario) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.4 (Condition Variable signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.5 (Condition Variable broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.6 (Condition Variable priority boost test) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 8 (Synchronous Messages) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Messages Server loop) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 9 (Event Sources and Event Flags) +---------------------------------------------------------------------------- +--- Test Case 9.1 (Events registration) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Event Flags dispatching) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Events Flags wait using chEvtWaitOne()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.4 (Events Flags wait using chEvtWaitAny()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.5 (Events Flags wait using chEvtWaitAll()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.6 (Events Flags wait timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.7 (Broadcasting using chEvtBroadcast()) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 10 (Dynamic threads) +---------------------------------------------------------------------------- +--- Test Case 10.1 (Threads creation from Memory Heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Threads creation from Memory Pool) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 11 (Benchmarks) +---------------------------------------------------------------------------- +--- Test Case 11.1 (Messages performance #1) +--- Score : 192466 msgs/S, 384932 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Messages performance #2) +--- Score : 160678 msgs/S, 321356 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Messages performance #3) +--- Score : 160678 msgs/S, 321356 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Context Switch performance) +--- Score : 519728 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Threads performance, full cycle) +--- Score : 124107 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Threads performance, create/exit only) +--- Score : 163596 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Mass reschedule performance) +--- Score : 47172 reschedules/S, 283032 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Round-Robin voluntary reschedule) +--- Score : 313300 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Virtual Timers set/reset performance) +--- Score : 541360 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Semaphores wait/signal performance) +--- Score : 972720 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Mutexes lock/unlock performance) +--- Score : 749808 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (RAM Footprint) +--- System: 120 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- EventS: 4 bytes +--- EventL: 20 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS + diff --git a/doc/rt/reports/benchmarks/stm32f3-72mhz-iar.txt b/doc/rt/reports/benchmarks/stm32f3-72mhz-iar.txt new file mode 100644 index 000000000..088d57569 --- /dev/null +++ b/doc/rt/reports/benchmarks/stm32f3-72mhz-iar.txt @@ -0,0 +1,239 @@ + +*** ChibiOS/RT Test Suite +*** +*** Compiled: Mar 17 2020 - 13:57:35 +*** Platform: STM32F303xC Analog & DSP +*** Test Board: STMicroelectronics STM32F3-Discovery + +============================================================================ +=== Test Sequence 1 (Information) +---------------------------------------------------------------------------- +--- Test Case 1.1 (Port Info) +--- Architecture: ARMv7E-M +--- Core Variant: Cortex-M4 +--- Compiler: IAR +--- Port Info: Advanced kernel mode +--- Natural alignment: 4 +--- Stack alignment: 8 +--- Working area alignment: 8 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Kernel Info) +--- Product: ChibiOS/RT +--- Stable Flag: 1 +--- Version String: 6.1.0 +--- Major Number: 6 +--- Minor Number: 1 +--- Patch Number: 0 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Kernel Settings) +--- CH_CFG_ST_RESOLUTION: 32 +--- CH_CFG_ST_FREQUENCY: 10000 +--- CH_CFG_INTERVALS_SIZE: 32 +--- CH_CFG_TIME_TYPES_SIZE: 32 +--- CH_CFG_ST_TIMEDELTA: 2 +--- CH_CFG_TIME_QUANTUM: 0 +--- CH_CFG_MEMCORE_SIZE: 0 +--- CH_CFG_NO_IDLE_THREAD: 0 +--- CH_CFG_OPTIMIZE_SPEED: 1 +--- CH_CFG_USE_TM: 1 +--- CH_CFG_USE_REGISTRY: 1 +--- CH_CFG_USE_WAITEXIT: 1 +--- CH_CFG_USE_SEMAPHORES: 1 +--- CH_CFG_USE_SEMAPHORES_PRIORITY: 0 +--- CH_CFG_USE_MUTEXES: 1 +--- CH_CFG_USE_MUTEXES_RECURSIVE: 0 +--- CH_CFG_USE_CONDVARS: 1 +--- CH_CFG_USE_CONDVARS_TIMEOUT: 1 +--- CH_CFG_USE_EVENTS: 1 +--- CH_CFG_USE_EVENTS_TIMEOUT: 1 +--- CH_CFG_USE_MESSAGES: 1 +--- CH_CFG_USE_MESSAGES_PRIORITY: 0 +--- CH_CFG_USE_DYNAMIC: 1 +--- CH_DBG_STATISTICS: 0 +--- CH_DBG_SYSTEM_STATE_CHECK: 0 +--- CH_DBG_ENABLE_CHECKS: 0 +--- CH_DBG_ENABLE_ASSERTS: 0 +--- CH_DBG_TRACE_MASK: 255 +--- CH_DBG_TRACE_BUFFER_SIZE: 128 +--- CH_DBG_ENABLE_STACK_CHECK: 0 +--- CH_DBG_FILL_THREADS: 0 +--- CH_DBG_THREADS_PROFILING: 0 +--- Result: SUCCESS +============================================================================ +=== Test Sequence 2 (System layer and port interface) +---------------------------------------------------------------------------- +--- Test Case 2.1 (System integrity functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Critical zones functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Interrupts handling functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 3 (Time and Intervals Functionality) +---------------------------------------------------------------------------- +--- Test Case 3.1 (System Tick Counter functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Time ranges functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 4 (Threads Functionality) +---------------------------------------------------------------------------- +--- Test Case 4.1 (Thread Sleep functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.2 (Ready List functionality, threads priority order) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.3 (Priority change test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.4 (Priority change test with Priority Inheritance) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 5 (Suspend/Resume) +---------------------------------------------------------------------------- +--- Test Case 5.1 (Suspend and Resume functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 6 (Counter Semaphores) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Semaphore primitives, no state change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Semaphore enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Semaphore timeout test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.4 (Testing chSemAddCounterI() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.5 (Testing chSemWaitSignal() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.6 (Testing Binary Semaphores special case) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 7 (Mutexes, Condition Variables and Priority Inheritance) +---------------------------------------------------------------------------- +--- Test Case 7.1 (Priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.2 (Priority return verification) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.3 (Repeated locks, non recursive scenario) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.4 (Condition Variable signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.5 (Condition Variable broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.6 (Condition Variable priority boost test) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 8 (Synchronous Messages) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Messages Server loop) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 9 (Event Sources and Event Flags) +---------------------------------------------------------------------------- +--- Test Case 9.1 (Events registration) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Event Flags dispatching) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Events Flags wait using chEvtWaitOne()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.4 (Events Flags wait using chEvtWaitAny()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.5 (Events Flags wait using chEvtWaitAll()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.6 (Events Flags wait timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.7 (Broadcasting using chEvtBroadcast()) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 10 (Dynamic threads) +---------------------------------------------------------------------------- +--- Test Case 10.1 (Threads creation from Memory Heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Threads creation from Memory Pool) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 11 (Benchmarks) +---------------------------------------------------------------------------- +--- Test Case 11.1 (Messages performance #1) +--- Score : 235245 msgs/S, 470490 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Messages performance #2) +--- Score : 189437 msgs/S, 378874 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Messages performance #3) +--- Score : 189437 msgs/S, 378874 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Context Switch performance) +--- Score : 688856 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Threads performance, full cycle) +--- Score : 140049 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Threads performance, create/exit only) +--- Score : 192477 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Mass reschedule performance) +--- Score : 54453 reschedules/S, 326718 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Round-Robin voluntary reschedule) +--- Score : 367740 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Virtual Timers set/reset performance) +--- Score : 541394 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Semaphores wait/signal performance) +--- Score : 972752 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Mutexes lock/unlock performance) +--- Score : 749832 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (RAM Footprint) +--- System: 120 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- EventS: 4 bytes +--- EventL: 20 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS + diff --git a/doc/rt/reports/benchmarks/stm32f3-72mhz-keil-fpu.txt b/doc/rt/reports/benchmarks/stm32f3-72mhz-keil-fpu.txt new file mode 100644 index 000000000..6d8f98231 --- /dev/null +++ b/doc/rt/reports/benchmarks/stm32f3-72mhz-keil-fpu.txt @@ -0,0 +1,239 @@ + +*** ChibiOS/RT Test Suite +*** +*** Compiled: Mar 17 2020 - 14:32:12 +*** Platform: STM32F303xC Analog & DSP +*** Test Board: STMicroelectronics STM32F3-Discovery + +============================================================================ +=== Test Sequence 1 (Information) +---------------------------------------------------------------------------- +--- Test Case 1.1 (Port Info) +--- Architecture: ARMv7E-M +--- Core Variant: Cortex-M4F +--- Compiler: RVCT +--- Port Info: Advanced kernel mode +--- Natural alignment: 4 +--- Stack alignment: 8 +--- Working area alignment: 8 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Kernel Info) +--- Product: ChibiOS/RT +--- Stable Flag: 1 +--- Version String: 6.1.0 +--- Major Number: 6 +--- Minor Number: 1 +--- Patch Number: 0 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Kernel Settings) +--- CH_CFG_ST_RESOLUTION: 32 +--- CH_CFG_ST_FREQUENCY: 10000 +--- CH_CFG_INTERVALS_SIZE: 32 +--- CH_CFG_TIME_TYPES_SIZE: 32 +--- CH_CFG_ST_TIMEDELTA: 2 +--- CH_CFG_TIME_QUANTUM: 0 +--- CH_CFG_MEMCORE_SIZE: 0 +--- CH_CFG_NO_IDLE_THREAD: 0 +--- CH_CFG_OPTIMIZE_SPEED: 1 +--- CH_CFG_USE_TM: 1 +--- CH_CFG_USE_REGISTRY: 1 +--- CH_CFG_USE_WAITEXIT: 1 +--- CH_CFG_USE_SEMAPHORES: 1 +--- CH_CFG_USE_SEMAPHORES_PRIORITY: 0 +--- CH_CFG_USE_MUTEXES: 1 +--- CH_CFG_USE_MUTEXES_RECURSIVE: 0 +--- CH_CFG_USE_CONDVARS: 1 +--- CH_CFG_USE_CONDVARS_TIMEOUT: 1 +--- CH_CFG_USE_EVENTS: 1 +--- CH_CFG_USE_EVENTS_TIMEOUT: 1 +--- CH_CFG_USE_MESSAGES: 1 +--- CH_CFG_USE_MESSAGES_PRIORITY: 0 +--- CH_CFG_USE_DYNAMIC: 1 +--- CH_DBG_STATISTICS: 0 +--- CH_DBG_SYSTEM_STATE_CHECK: 0 +--- CH_DBG_ENABLE_CHECKS: 0 +--- CH_DBG_ENABLE_ASSERTS: 0 +--- CH_DBG_TRACE_MASK: 255 +--- CH_DBG_TRACE_BUFFER_SIZE: 128 +--- CH_DBG_ENABLE_STACK_CHECK: 0 +--- CH_DBG_FILL_THREADS: 0 +--- CH_DBG_THREADS_PROFILING: 0 +--- Result: SUCCESS +============================================================================ +=== Test Sequence 2 (System layer and port interface) +---------------------------------------------------------------------------- +--- Test Case 2.1 (System integrity functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Critical zones functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Interrupts handling functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 3 (Time and Intervals Functionality) +---------------------------------------------------------------------------- +--- Test Case 3.1 (System Tick Counter functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Time ranges functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 4 (Threads Functionality) +---------------------------------------------------------------------------- +--- Test Case 4.1 (Thread Sleep functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.2 (Ready List functionality, threads priority order) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.3 (Priority change test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.4 (Priority change test with Priority Inheritance) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 5 (Suspend/Resume) +---------------------------------------------------------------------------- +--- Test Case 5.1 (Suspend and Resume functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 6 (Counter Semaphores) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Semaphore primitives, no state change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Semaphore enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Semaphore timeout test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.4 (Testing chSemAddCounterI() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.5 (Testing chSemWaitSignal() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.6 (Testing Binary Semaphores special case) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 7 (Mutexes, Condition Variables and Priority Inheritance) +---------------------------------------------------------------------------- +--- Test Case 7.1 (Priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.2 (Priority return verification) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.3 (Repeated locks, non recursive scenario) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.4 (Condition Variable signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.5 (Condition Variable broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.6 (Condition Variable priority boost test) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 8 (Synchronous Messages) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Messages Server loop) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 9 (Event Sources and Event Flags) +---------------------------------------------------------------------------- +--- Test Case 9.1 (Events registration) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Event Flags dispatching) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Events Flags wait using chEvtWaitOne()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.4 (Events Flags wait using chEvtWaitAny()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.5 (Events Flags wait using chEvtWaitAll()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.6 (Events Flags wait timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.7 (Broadcasting using chEvtBroadcast()) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 10 (Dynamic threads) +---------------------------------------------------------------------------- +--- Test Case 10.1 (Threads creation from Memory Heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Threads creation from Memory Pool) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 11 (Benchmarks) +---------------------------------------------------------------------------- +--- Test Case 11.1 (Messages performance #1) +--- Score : 196137 msgs/S, 392274 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Messages performance #2) +--- Score : 170982 msgs/S, 341964 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Messages performance #3) +--- Score : 170982 msgs/S, 341964 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Context Switch performance) +--- Score : 610024 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Threads performance, full cycle) +--- Score : 127178 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Threads performance, create/exit only) +--- Score : 161397 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Mass reschedule performance) +--- Score : 55203 reschedules/S, 331218 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Round-Robin voluntary reschedule) +--- Score : 399348 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Virtual Timers set/reset performance) +--- Score : 321458 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Semaphores wait/signal performance) +--- Score : 834580 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Mutexes lock/unlock performance) +--- Score : 613924 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (RAM Footprint) +--- System: 120 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- EventS: 4 bytes +--- EventL: 20 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS + diff --git a/doc/rt/reports/benchmarks/stm32f3-72mhz-keil.txt b/doc/rt/reports/benchmarks/stm32f3-72mhz-keil.txt new file mode 100644 index 000000000..26c887b2f --- /dev/null +++ b/doc/rt/reports/benchmarks/stm32f3-72mhz-keil.txt @@ -0,0 +1,239 @@ + +*** ChibiOS/RT Test Suite +*** +*** Compiled: Mar 17 2020 - 14:25:56 +*** Platform: STM32F303xC Analog & DSP +*** Test Board: STMicroelectronics STM32F3-Discovery + +============================================================================ +=== Test Sequence 1 (Information) +---------------------------------------------------------------------------- +--- Test Case 1.1 (Port Info) +--- Architecture: ARMv7E-M +--- Core Variant: Cortex-M4 +--- Compiler: RVCT +--- Port Info: Advanced kernel mode +--- Natural alignment: 4 +--- Stack alignment: 8 +--- Working area alignment: 8 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Kernel Info) +--- Product: ChibiOS/RT +--- Stable Flag: 1 +--- Version String: 6.1.0 +--- Major Number: 6 +--- Minor Number: 1 +--- Patch Number: 0 +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Kernel Settings) +--- CH_CFG_ST_RESOLUTION: 32 +--- CH_CFG_ST_FREQUENCY: 10000 +--- CH_CFG_INTERVALS_SIZE: 32 +--- CH_CFG_TIME_TYPES_SIZE: 32 +--- CH_CFG_ST_TIMEDELTA: 2 +--- CH_CFG_TIME_QUANTUM: 0 +--- CH_CFG_MEMCORE_SIZE: 0 +--- CH_CFG_NO_IDLE_THREAD: 0 +--- CH_CFG_OPTIMIZE_SPEED: 1 +--- CH_CFG_USE_TM: 1 +--- CH_CFG_USE_REGISTRY: 1 +--- CH_CFG_USE_WAITEXIT: 1 +--- CH_CFG_USE_SEMAPHORES: 1 +--- CH_CFG_USE_SEMAPHORES_PRIORITY: 0 +--- CH_CFG_USE_MUTEXES: 1 +--- CH_CFG_USE_MUTEXES_RECURSIVE: 0 +--- CH_CFG_USE_CONDVARS: 1 +--- CH_CFG_USE_CONDVARS_TIMEOUT: 1 +--- CH_CFG_USE_EVENTS: 1 +--- CH_CFG_USE_EVENTS_TIMEOUT: 1 +--- CH_CFG_USE_MESSAGES: 1 +--- CH_CFG_USE_MESSAGES_PRIORITY: 0 +--- CH_CFG_USE_DYNAMIC: 1 +--- CH_DBG_STATISTICS: 0 +--- CH_DBG_SYSTEM_STATE_CHECK: 0 +--- CH_DBG_ENABLE_CHECKS: 0 +--- CH_DBG_ENABLE_ASSERTS: 0 +--- CH_DBG_TRACE_MASK: 255 +--- CH_DBG_TRACE_BUFFER_SIZE: 128 +--- CH_DBG_ENABLE_STACK_CHECK: 0 +--- CH_DBG_FILL_THREADS: 0 +--- CH_DBG_THREADS_PROFILING: 0 +--- Result: SUCCESS +============================================================================ +=== Test Sequence 2 (System layer and port interface) +---------------------------------------------------------------------------- +--- Test Case 2.1 (System integrity functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Critical zones functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Interrupts handling functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 3 (Time and Intervals Functionality) +---------------------------------------------------------------------------- +--- Test Case 3.1 (System Tick Counter functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Time ranges functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 4 (Threads Functionality) +---------------------------------------------------------------------------- +--- Test Case 4.1 (Thread Sleep functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.2 (Ready List functionality, threads priority order) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.3 (Priority change test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.4 (Priority change test with Priority Inheritance) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 5 (Suspend/Resume) +---------------------------------------------------------------------------- +--- Test Case 5.1 (Suspend and Resume functionality) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 6 (Counter Semaphores) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Semaphore primitives, no state change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Semaphore enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Semaphore timeout test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.4 (Testing chSemAddCounterI() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.5 (Testing chSemWaitSignal() functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.6 (Testing Binary Semaphores special case) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 7 (Mutexes, Condition Variables and Priority Inheritance) +---------------------------------------------------------------------------- +--- Test Case 7.1 (Priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.2 (Priority return verification) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.3 (Repeated locks, non recursive scenario) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.4 (Condition Variable signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.5 (Condition Variable broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.6 (Condition Variable priority boost test) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 8 (Synchronous Messages) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Messages Server loop) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 9 (Event Sources and Event Flags) +---------------------------------------------------------------------------- +--- Test Case 9.1 (Events registration) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Event Flags dispatching) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Events Flags wait using chEvtWaitOne()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.4 (Events Flags wait using chEvtWaitAny()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.5 (Events Flags wait using chEvtWaitAll()) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.6 (Events Flags wait timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.7 (Broadcasting using chEvtBroadcast()) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 10 (Dynamic threads) +---------------------------------------------------------------------------- +--- Test Case 10.1 (Threads creation from Memory Heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Threads creation from Memory Pool) +--- Result: SUCCESS +============================================================================ +=== Test Sequence 11 (Benchmarks) +---------------------------------------------------------------------------- +--- Test Case 11.1 (Messages performance #1) +--- Score : 240753 msgs/S, 481506 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Messages performance #2) +--- Score : 202776 msgs/S, 405552 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Messages performance #3) +--- Score : 202777 msgs/S, 405554 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Context Switch performance) +--- Score : 856976 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Threads performance, full cycle) +--- Score : 143971 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Threads performance, create/exit only) +--- Score : 190439 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Mass reschedule performance) +--- Score : 64970 reschedules/S, 389820 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Round-Robin voluntary reschedule) +--- Score : 495600 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Virtual Timers set/reset performance) +--- Score : 328850 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Semaphores wait/signal performance) +--- Score : 815684 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Mutexes lock/unlock performance) +--- Score : 598620 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (RAM Footprint) +--- System: 120 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- EventS: 4 bytes +--- EventL: 20 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS +