From d6eb57b8ea6c73a694cff33ded801af9e25ecff7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 24 May 2009 13:38:16 +0000 Subject: Fixed bugs 2796065, 2796069 and 2796081. Updated ARM test reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@987 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- demos/ARM7-LPC214x-G++/ch.ld | 2 +- demos/ARM7-LPC214x-G++/main.cpp | 24 +++++- docs/reports/AT91SAM7X-48-ARM.txt | 163 ++++++++++++++++++++++-------------- docs/reports/AT91SAM7X-48-THUMB.txt | 163 ++++++++++++++++++++++-------------- docs/reports/LPC2148-48-ARM.txt | 163 ++++++++++++++++++++++-------------- docs/reports/LPC2148-48-THUMB.txt | 163 ++++++++++++++++++++++-------------- docs/reports/STM32F103-48.txt | 163 ++++++++++++++++++++++-------------- docs/reports/STM32F103-72.txt | 163 ++++++++++++++++++++++-------------- readme.txt | 6 ++ src/lib/ch.cpp | 2 - test/testevt.c | 10 +-- 11 files changed, 645 insertions(+), 377 deletions(-) diff --git a/demos/ARM7-LPC214x-G++/ch.ld b/demos/ARM7-LPC214x-G++/ch.ld index 2bbea7477..a79694e7b 100644 --- a/demos/ARM7-LPC214x-G++/ch.ld +++ b/demos/ARM7-LPC214x-G++/ch.ld @@ -25,7 +25,7 @@ __abt_stack_size__ = 0x0004; __fiq_stack_size__ = 0x0010; __irq_stack_size__ = 0x0080; __svc_stack_size__ = 0x0004; -__sys_stack_size__ = 0x0100; +__sys_stack_size__ = 0x0800; __stacks_total_size__ = __und_stack_size__ + __abt_stack_size__ + __fiq_stack_size__ + __irq_stack_size__ + __svc_stack_size__ + __sys_stack_size__; MEMORY diff --git a/demos/ARM7-LPC214x-G++/main.cpp b/demos/ARM7-LPC214x-G++/main.cpp index 2f89d5dcf..647dee8a3 100644 --- a/demos/ARM7-LPC214x-G++/main.cpp +++ b/demos/ARM7-LPC214x-G++/main.cpp @@ -80,7 +80,7 @@ static const seqop_t LED3_sequence[] = * Any sequencer is just an instance of this class, all the details are * totally encapsulated and hidden to the application level. */ -class SequencerThread : EnhancedThread<128> { +class SequencerThread : public EnhancedThread<128> { private: const seqop_t *base, *curr; // Thread local variables. @@ -114,13 +114,31 @@ public: } }; +/* + * Tester thread class. This thread executes the test suite. + */ +class TesterThread : public EnhancedThread<128> { + +protected: + virtual msg_t Main(void) { + + return TestThread(&COM1); + } + +public: + TesterThread(void) : EnhancedThread<128>("tester") { + } +}; + /* * Executed as an event handler at 500mS intervals. */ static void TimerHandler(eventid_t id) { - if (!(IO0PIN & 0x00018000)) // Both buttons - TestThread(&COM1); + if (!(IO0PIN & 0x00018000)) { // Both buttons + TesterThread tester; + tester.Wait(); + }; } /* diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 1b2ad97a3..91e820138 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM7TDMI +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 62260 bytes, not fragmented +--- Size : 62112 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 115499 msgs/S, 230998 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 115476 msgs/S, 230952 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 90202 msgs/S, 180404 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 90222 msgs/S, 180444 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 90202 msgs/S, 180404 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 90222 msgs/S, 180444 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 394288 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 79431 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 79015 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 108923 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 108154 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28045 reschedulations/S, 168270 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28038 reschedulations/S, 168228 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 240464 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 231100 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 264212 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 264138 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 466552 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 466428 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 322036 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 321944 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index 9ca95c6e5..986d199b0 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM7TDMI +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 62260 bytes, not fragmented +--- Size : 62112 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 103067 msgs/S, 206134 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 103051 msgs/S, 206102 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 85385 msgs/S, 170770 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 85400 msgs/S, 170800 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 85385 msgs/S, 170770 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 85400 msgs/S, 170800 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 398888 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 82597 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 82154 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 113057 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 112237 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 27983 reschedulations/S, 167898 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 27978 reschedulations/S, 167868 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 263540 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 262760 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 323190 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 323120 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 367232 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 367156 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 263904 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 263848 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index a05e540ad..07613c361 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM7TDMI +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 27516 bytes, not fragmented +--- Size : 27360 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 145332 msgs/S, 290664 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 145306 msgs/S, 290612 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 112485 msgs/S, 224970 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 112504 msgs/S, 225008 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 112485 msgs/S, 224970 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 112504 msgs/S, 225008 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 506544 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 103493 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 103028 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 142303 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 141434 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36169 reschedulations/S, 217014 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 36162 reschedulations/S, 216972 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 341232 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 334596 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 309620 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 309448 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 622996 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 622892 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 386404 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 386328 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 9aa5d6394..6723c7c7e 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM7TDMI +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 27516 bytes, not fragmented +--- Size : 27360 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 103643 msgs/S, 207286 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 103620 msgs/S, 207240 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 86227 msgs/S, 172454 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 86249 msgs/S, 172498 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 86227 msgs/S, 172454 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 86251 msgs/S, 172502 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 406992 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 83827 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 83513 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 114584 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 114007 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28819 reschedulations/S, 172914 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28812 reschedulations/S, 172872 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 262116 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 259552 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 302534 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 302376 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 350728 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 350644 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 249212 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 249148 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 7e7169fd3..8a829998e 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=48, ACR=0x11 (1 wait state) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM Cortex-M3 +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 17236 bytes, not fragmented +--- Size : 17092 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 161114 msgs/S, 322228 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 161093 msgs/S, 322186 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 132900 msgs/S, 265800 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 132929 msgs/S, 265858 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 132900 msgs/S, 265800 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 132929 msgs/S, 265858 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 493248 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 123333 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 123311 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 158976 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 159485 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 41867 reschedulations/S, 251202 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 41861 reschedulations/S, 251166 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 377568 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 365960 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 525902 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 525822 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 676444 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 676360 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 489620 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 489544 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 631a841b7..73e5cd0d8 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM Cortex-M3 +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 17236 bytes, not fragmented +--- Size : 17092 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 215042 msgs/S, 430084 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 215037 msgs/S, 430074 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 174745 msgs/S, 349490 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 174751 msgs/S, 349502 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 174745 msgs/S, 349490 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 174751 msgs/S, 349502 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 676760 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 165113 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 164727 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 215044 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 215680 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 54747 reschedulations/S, 328482 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 54745 reschedulations/S, 328470 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 489472 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 474888 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 647110 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 647072 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 823324 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 823264 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 601124 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 601084 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/readme.txt b/readme.txt index 533782d47..72e5b56e9 100644 --- a/readme.txt +++ b/readme.txt @@ -85,6 +85,12 @@ GNU-Linux-GCC - ChibiOS/RT simulator for x86 Linux systems, it is (bug 2789501)(backported in stable branch). - FIX: Fixed C99-style variable declarations (bug 2792919)(backported in stable branch). +- FIX: Fixed instance of obsolete CH_USE_TERMINATE option in the C++ wrapper + (bug 2796065)(backported in stable branch). +- FIX: Insufficient stack allocated to the C++ LPC2148 demo (bug 2796069) + (backported in stable branch). +- FIX: Fixed errors in events test case (bug 2796081)(backported in stable + branch). - NEW: Abstract I/O Channels mechanism introduced. This mechanism allows to access I/O resources through a standard interface and hides implementation details. The existing serial drivers were modified to offer a standard diff --git a/src/lib/ch.cpp b/src/lib/ch.cpp index eaca06358..6e338630e 100644 --- a/src/lib/ch.cpp +++ b/src/lib/ch.cpp @@ -103,12 +103,10 @@ namespace chibios_rt { chThdResume(thread_ref); } -#if CH_USE_TERMINATE void BaseThread::Terminate(void) { chThdTerminate(thread_ref); } -#endif /* CH_USE_TERMINATE */ void BaseThread::Sleep(systime_t n) { diff --git a/test/testevt.c b/test/testevt.c index e053737a5..3eb3d71b3 100644 --- a/test/testevt.c +++ b/test/testevt.c @@ -171,7 +171,7 @@ static void evt2_execute(void) { test_assert(1, m == 1, "single event error"); m = chEvtWaitOne(ALL_EVENTS); test_assert(2, m == 4, "single event error"); - m = chEvtClear(0); + m = chEvtClear(ALL_EVENTS); test_assert(3, m == 0, "stuck event"); /* @@ -184,7 +184,7 @@ static void evt2_execute(void) { m = chEvtWaitOne(ALL_EVENTS); test_assert_time_window(4, target_time, target_time + ALLOWED_DELAY); test_assert(5, m == 1, "single event error"); - m = chEvtClear(0); + m = chEvtClear(ALL_EVENTS); test_assert(6, m == 0, "stuck event"); test_wait_threads(); @@ -194,7 +194,7 @@ static void evt2_execute(void) { chEvtPend(5); m = chEvtWaitAny(ALL_EVENTS); test_assert(7, m == 5, "unexpected pending bit"); - m = chEvtClear(0); + m = chEvtClear(ALL_EVENTS); test_assert(8, m == 0, "stuck event"); /* @@ -207,7 +207,7 @@ static void evt2_execute(void) { m = chEvtWaitAny(ALL_EVENTS); test_assert_time_window(9, target_time, target_time + ALLOWED_DELAY); test_assert(10, m == 1, "single event error"); - m = chEvtClear(0); + m = chEvtClear(ALL_EVENTS); test_assert(11, m == 0, "stuck event"); test_wait_threads(); @@ -224,7 +224,7 @@ static void evt2_execute(void) { thread2, "A"); m = chEvtWaitAll(5); test_assert_time_window(12, target_time, target_time + ALLOWED_DELAY); - m = chEvtClear(0); + m = chEvtClear(ALL_EVENTS); test_assert(13, m == 0, "stuck event"); test_wait_threads(); chEvtUnregister(&es1, &el1); -- cgit v1.2.3