diff options
-rw-r--r-- | docs/reports/LPC2148-48-ARM.txt | 71 | ||||
-rw-r--r-- | docs/reports/LPC2148-48-THUMB.txt | 77 | ||||
-rw-r--r-- | docs/reports/MSP430F1611-0.75.txt | 59 | ||||
-rw-r--r-- | docs/reports/STM32F103-48.txt | 79 | ||||
-rw-r--r-- | docs/reports/STM32F103-72.txt | 4 | ||||
-rw-r--r-- | docs/reports/build.txt | 48 | ||||
-rw-r--r-- | docs/reports/kernel.txt | 44 | ||||
-rw-r--r-- | docs/src/main.dox | 2 | ||||
-rw-r--r-- | readme.txt | 7 | ||||
-rw-r--r-- | src/chschd.c | 1 |
10 files changed, 240 insertions, 152 deletions
diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index 39e2d19e0..ba4b41fb9 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,87 +1,98 @@ ***************************************************************************
-Kernel: ChibiOS/RT 1.1.0 unstable
+Kernel: ChibiOS/RT 1.1.1 unstable
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 (Ready List, priority enqueuing test #1)
+--- Test Case 1.1 (Ready List, priority enqueuing test #1)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 2 (Ready List, priority enqueuing test #2)
+--- Test Case 1.2 (Ready List, priority enqueuing test #2)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 3 (Semaphores, FIFO enqueuing test)
+--- Test Case 2.1 (Semaphores, FIFO enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 4 (Semaphores, timeout test)
+--- Test Case 2.2 (Semaphores, timeout test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 5 (Mutexes, priority enqueuing test)
+--- Test Case 3.1 (Mutexes, priority enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 6 (Mutexes, priority inheritance, simple case)
+--- Test Case 3.2 (Mutexes, priority inheritance, simple case)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 7 (Mutexes, priority inheritance, complex case)
+--- Test Case 3.3 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 8 (CondVar, signal test)
+--- Test Case 4.1 (CondVar, signal test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 9 (CondVar, broadcast test)
+--- Test Case 4.2 (CondVar, broadcast test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 10 (Messages, dispatch test)
+--- Test Case 5.1 (Messages, dispatch test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 11 (Events, wait and broadcast)
+--- Test Case 6.1 (Mailboxes, queuing and timeouts)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 12 (Heap, allocation and fragmentation test)
---- Size : 27668 bytes, not fragmented
+--- Test Case 7.1 (Events, wait and broadcast)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 13 (Memory Pools, allocation and enqueuing test)
+--- Test Case 8.1 (Heap, allocation and fragmentation test)
+--- Size : 27500 bytes, not fragmented
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 14 (Dynamic APIs, threads creation from heap)
+--- Test Case 9.1 (Memory Pools, allocation and enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 15 (Dynamic APIs, threads creation from memory pool)
+--- Test Case 10.1 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 16 (Benchmark, context switch #1, optimal)
---- Score : 144452 msgs/S, 288904 ctxswc/S
+--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 17 (Benchmark, context switch #2, empty ready list)
---- Score : 111979 msgs/S, 223958 ctxswc/S
+--- Test Case 11.1 (Benchmark, context switch #1, optimal)
+--- Score : 144456 msgs/S, 288912 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list)
+--- Test Case 11.2 (Benchmark, context switch #2, empty ready list)
--- Score : 111978 msgs/S, 223956 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 19 (Benchmark, threads creation/termination, worst case)
+--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list)
+--- Score : 111977 msgs/S, 223954 ctxswc/S
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 11.4 (Benchmark, threads creation/termination, worst case)
--- Score : 103047 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 20 (Benchmark, threads creation/termination, optimal)
---- Score : 141463 threads/S
+--- Test Case 11.5 (Benchmark, threads creation/termination, optimal)
+--- Score : 141461 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 21 (Benchmark, mass reschedulation, 5 threads)
+--- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads)
--- Score : 36006 reschedulations/S, 216036 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 22 (Benchmark, I/O Queues throughput)
---- Score : 341232 bytes/S
+--- Test Case 11.7 (Benchmark, I/O Queues throughput)
+--- Score : 341228 bytes/S
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 11.8 (Benchmark, virtual timers set/reset)
+--- Score : 309504 timers/S
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 11.9 (Benchmark, semaphores wait/signal)
+--- Score : 623000 wait+signal/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 23 (Benchmark, virtual timers set/reset)
---- Score : 309500 timers/S
+--- Test Case 11.10 (Benchmark, mutexes lock/unlock)
+--- Score : 392752 lock+unlock/S
--- Result: SUCCESS
---------------------------------------------------------------------------
diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index b6cd6ed25..728b58a31 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,87 +1,98 @@ ***************************************************************************
-Kernel: ChibiOS/RT 1.1.0 unstable
+Kernel: ChibiOS/RT 1.1.1 unstable
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 (Ready List, priority enqueuing test #1)
+--- Test Case 1.1 (Ready List, priority enqueuing test #1)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 2 (Ready List, priority enqueuing test #2)
+--- Test Case 1.2 (Ready List, priority enqueuing test #2)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 3 (Semaphores, FIFO enqueuing test)
+--- Test Case 2.1 (Semaphores, FIFO enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 4 (Semaphores, timeout test)
+--- Test Case 2.2 (Semaphores, timeout test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 5 (Mutexes, priority enqueuing test)
+--- Test Case 3.1 (Mutexes, priority enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 6 (Mutexes, priority inheritance, simple case)
+--- Test Case 3.2 (Mutexes, priority inheritance, simple case)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 7 (Mutexes, priority inheritance, complex case)
+--- Test Case 3.3 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 8 (CondVar, signal test)
+--- Test Case 4.1 (CondVar, signal test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 9 (CondVar, broadcast test)
+--- Test Case 4.2 (CondVar, broadcast test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 10 (Messages, dispatch test)
+--- Test Case 5.1 (Messages, dispatch test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 11 (Events, wait and broadcast)
+--- Test Case 6.1 (Mailboxes, queuing and timeouts)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 12 (Heap, allocation and fragmentation test)
---- Size : 27668 bytes, not fragmented
+--- Test Case 7.1 (Events, wait and broadcast)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 13 (Memory Pools, allocation and enqueuing test)
+--- Test Case 8.1 (Heap, allocation and fragmentation test)
+--- Size : 27500 bytes, not fragmented
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 14 (Dynamic APIs, threads creation from heap)
+--- Test Case 9.1 (Memory Pools, allocation and enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 15 (Dynamic APIs, threads creation from memory pool)
+--- Test Case 10.1 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 16 (Benchmark, context switch #1, optimal)
---- Score : 101441 msgs/S, 202882 ctxswc/S
+--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 17 (Benchmark, context switch #2, empty ready list)
---- Score : 85780 msgs/S, 171560 ctxswc/S
+--- Test Case 11.1 (Benchmark, context switch #1, optimal)
+--- Score : 102975 msgs/S, 205950 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list)
---- Score : 85779 msgs/S, 171558 ctxswc/S
+--- Test Case 11.2 (Benchmark, context switch #2, empty ready list)
+--- Score : 85476 msgs/S, 170952 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 19 (Benchmark, threads creation/termination, worst case)
---- Score : 82665 threads/S
+--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list)
+--- Score : 85475 msgs/S, 170950 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 20 (Benchmark, threads creation/termination, optimal)
---- Score : 116537 threads/S
+--- Test Case 11.4 (Benchmark, threads creation/termination, worst case)
+--- Score : 83100 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 21 (Benchmark, mass reschedulation, 5 threads)
---- Score : 28871 reschedulations/S, 173226 ctxswc/S
+--- Test Case 11.5 (Benchmark, threads creation/termination, optimal)
+--- Score : 113766 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 22 (Benchmark, I/O Queues throughput)
---- Score : 243632 bytes/S
+--- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads)
+--- Score : 28629 reschedulations/S, 171774 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 23 (Benchmark, virtual timers set/reset)
---- Score : 273044 timers/S
+--- Test Case 11.7 (Benchmark, I/O Queues throughput)
+--- Score : 262112 bytes/S
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 11.8 (Benchmark, virtual timers set/reset)
+--- Score : 302468 timers/S
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 11.9 (Benchmark, semaphores wait/signal)
+--- Score : 350724 wait+signal/S
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 11.10 (Benchmark, mutexes lock/unlock)
+--- Score : 249208 lock+unlock/S
--- Result: SUCCESS
---------------------------------------------------------------------------
diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 42d8dda1d..1c0c7a160 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,88 +1,99 @@ ***************************************************************************
-Kernel: ChibiOS/RT 1.1.0 unstable
+Kernel: ChibiOS/RT 1.1.1 unstable
Compiler: GCC 3.2.3 (MSPGCC)
Options: -O2 -fomit-frame-pointer
Settings: MCLK=DCOCLK 750Khz
***************************************************************************
---------------------------------------------------------------------------
---- Test Case 1 (Ready List, priority enqueuing test #1)
+--- Test Case 1.1 (Ready List, priority enqueuing test #1)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 2 (Ready List, priority enqueuing test #2)
+--- Test Case 1.2 (Ready List, priority enqueuing test #2)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 3 (Semaphores, FIFO enqueuing test)
+--- Test Case 2.1 (Semaphores, FIFO enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 4 (Semaphores, timeout test)
+--- Test Case 2.2 (Semaphores, timeout test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 5 (Mutexes, priority enqueuing test)
+--- Test Case 3.1 (Mutexes, priority enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 6 (Mutexes, priority inheritance, simple case)
+--- Test Case 3.2 (Mutexes, priority inheritance, simple case)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 7 (Mutexes, priority inheritance, complex case)
+--- Test Case 3.3 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 8 (CondVar, signal test)
+--- Test Case 4.1 (CondVar, signal test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 9 (CondVar, broadcast test)
+--- Test Case 4.2 (CondVar, broadcast test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 10 (Messages, dispatch test)
+--- Test Case 5.1 (Messages, dispatch test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 11 (Events, wait and broadcast)
+--- Test Case 6.1 (Mailboxes, queuing and timeouts)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 12 (Heap, allocation and fragmentation test)
+--- Test Case 7.1 (Events, wait and broadcast)
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 8.1 (Heap, allocation and fragmentation test)
--- Size : 508 bytes, not fragmented
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 13 (Memory Pools, allocation and enqueuing test)
+--- Test Case 9.1 (Memory Pools, allocation and enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 14 (Dynamic APIs, threads creation from heap)
+--- Test Case 10.1 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 15 (Dynamic APIs, threads creation from memory pool)
+--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 16 (Benchmark, context switch #1, optimal)
+--- Test Case 11.1 (Benchmark, context switch #1, optimal)
--- Score : 1942 msgs/S, 3884 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 17 (Benchmark, context switch #2, empty ready list)
+--- Test Case 11.2 (Benchmark, context switch #2, empty ready list)
--- Score : 1611 msgs/S, 3222 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list)
+--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list)
--- Score : 1611 msgs/S, 3222 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 19 (Benchmark, threads creation/termination, worst case)
+--- Test Case 11.4 (Benchmark, threads creation/termination, worst case)
--- Score : 1334 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 20 (Benchmark, threads creation/termination, optimal)
+--- Test Case 11.5 (Benchmark, threads creation/termination, optimal)
--- Score : 1720 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 21 (Benchmark, mass reschedulation, 5 threads)
+--- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads)
--- Score : 498 reschedulations/S, 2988 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 22 (Benchmark, I/O Queues throughput)
+--- Test Case 11.7 (Benchmark, I/O Queues throughput)
--- Score : 5432 bytes/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 23 (Benchmark, virtual timers set/reset)
+--- Test Case 11.8 (Benchmark, virtual timers set/reset)
--- Score : 5632 timers/S
--- Result: SUCCESS
---------------------------------------------------------------------------
+--- Test Case 11.9 (Benchmark, semaphores wait/signal)
+--- Score : 13920 wait+signal/S
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 11.10 (Benchmark, mutexes lock/unlock)
+--- Score : 7380 lock+unlock/S
+--- Result: SUCCESS
+---------------------------------------------------------------------------
Final result: SUCCESS
diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 3e4411385..cfe85c3b8 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -1,91 +1,98 @@ ***************************************************************************
-Kernel: ChibiOS/RT 1.0.0 final
+Kernel: ChibiOS/RT 1.1.1 unstable
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)
***************************************************************************
-*****************************
-*** ChibiOS/RT test suite ***
-*****************************
-
---------------------------------------------------------------------------
---- Test Case 1 (Ready List, priority enqueuing test #1)
+--- Test Case 1.1 (Ready List, priority enqueuing test #1)
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 1.2 (Ready List, priority enqueuing test #2)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 2 (Ready List, priority enqueuing test #2)
+--- Test Case 2.1 (Semaphores, FIFO enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 3 (Semaphores, FIFO enqueuing test)
+--- Test Case 2.2 (Semaphores, timeout test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 4 (Semaphores, timeout test)
+--- Test Case 3.1 (Mutexes, priority enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 5 (Mutexes, priority enqueuing test)
+--- Test Case 3.2 (Mutexes, priority inheritance, simple case)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 6 (Mutexes, priority inheritance, simple case)
+--- Test Case 3.3 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 7 (Mutexes, priority inheritance, complex case)
+--- Test Case 4.1 (CondVar, signal test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 8 (CondVar, signal test)
+--- Test Case 4.2 (CondVar, broadcast test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 9 (CondVar, broadcast test)
+--- Test Case 5.1 (Messages, dispatch test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 10 (Messages, dispatch test)
+--- Test Case 6.1 (Mailboxes, queuing and timeouts)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 11 (Events, wait and broadcast)
+--- Test Case 7.1 (Events, wait and broadcast)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 12 (Heap, allocation and fragmentation test)
---- Size : 17284 bytes, not fragmented
+--- Test Case 8.1 (Heap, allocation and fragmentation test)
+--- Size : 17220 bytes, not fragmented
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 13 (Memory Pools, allocation and enqueuing test)
+--- Test Case 9.1 (Memory Pools, allocation and enqueuing test)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 14 (Dynamic APIs, threads creation from heap)
+--- Test Case 10.1 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 15 (Dynamic APIs, threads creation from memory pool)
+--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 16 (Benchmark, context switch #1, optimal)
---- Score : 160572 msgs/S, 321144 ctxswc/S
+--- Test Case 11.1 (Benchmark, context switch #1, optimal)
+--- Score : 160570 msgs/S, 321140 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 17 (Benchmark, context switch #2, empty ready list)
---- Score : 134029 msgs/S, 268058 ctxswc/S
+--- Test Case 11.2 (Benchmark, context switch #2, empty ready list)
+--- Score : 134030 msgs/S, 268060 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list)
---- Score : 134029 msgs/S, 268058 ctxswc/S
+--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list)
+--- Score : 134030 msgs/S, 268060 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 19 (Benchmark, threads creation/termination, worst case)
---- Score : 119936 threads/S
+--- Test Case 11.4 (Benchmark, threads creation/termination, worst case)
+--- Score : 122385 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 20 (Benchmark, threads creation/termination, optimal)
---- Score : 151423 threads/S
+--- Test Case 11.5 (Benchmark, threads creation/termination, optimal)
+--- Score : 155364 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 21 (Benchmark, mass reschedulation, 5 threads)
+--- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads)
--- Score : 42162 reschedulations/S, 252972 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 22 (Benchmark, I/O Queues throughput)
---- Score : 377572 bytes/S
+--- Test Case 11.7 (Benchmark, I/O Queues throughput)
+--- Score : 377568 bytes/S
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 11.8 (Benchmark, virtual timers set/reset)
+--- Score : 525902 timers/S
+--- Result: SUCCESS
+---------------------------------------------------------------------------
+--- Test Case 11.9 (Benchmark, semaphores wait/signal)
+--- Score : 676444 wait+signal/S
--- Result: SUCCESS
---------------------------------------------------------------------------
---- Test Case 23 (Benchmark, virtual timers set/reset)
---- Score : 525896 timers/S
+--- Test Case 11.10 (Benchmark, mutexes lock/unlock)
+--- Score : 489620 lock+unlock/S
--- Result: SUCCESS
---------------------------------------------------------------------------
diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index f7f0bcda0..7af64a3d4 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -60,7 +60,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, context switch #2, empty ready list)
---- Score : 178663 msgs/S, 357326 ctxswc/S
+--- Score : 178664 msgs/S, 357328 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list)
@@ -92,7 +92,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, mutexes lock/unlock)
---- Score : 601120 lock+unlock/S
+--- Score : 601124 lock+unlock/S
--- Result: SUCCESS
---------------------------------------------------------------------------
diff --git a/docs/reports/build.txt b/docs/reports/build.txt new file mode 100644 index 000000000..0e3da2eeb --- /dev/null +++ b/docs/reports/build.txt @@ -0,0 +1,48 @@ +Default maximum settings + * Building...OK + * Testing...OK +CH_OPTIMIZE_SPEED=FALSE + * Building...OK + * Testing...OK +CH_USE_NESTED_LOCKS=TRUE + * Building...OK + * Testing...OK +CH_USE_ROUNDROBIN=FALSE + * Building...OK + * Testing...OK +CH_USE_SEMAPHORES_PRIORITY=TRUE + * Building...OK + * Testing...OK +CH_USE_SEMAPHORES_TIMEOUT=FALSE + * Building...OK + * Testing...OK +CH_USE_CONDVARS_TIMEOUT=FALSE + * Building...OK + * Testing...OK +CH_USE_EVENTS_TIMEOUT=FALSE + * Building...OK + * Testing...OK +CH_USE_MESSAGES_PRIORITY=TRUE + * Building...OK + * Testing...OK +CH_USE_DYNAMIC=FALSE + * Building...OK + * Testing...OK +CH_DBG_ENABLE_CHECKS=TRUE + * Building...OK + * Testing...OK +CH_DBG_ENABLE_ASSERTS=TRUE + * Building...OK + * Testing...OK +CH_DBG_ENABLE_TRACE=TRUE + * Building...OK + * Testing...OK +CH_DBG_ENABLE_STACK_CHECK=TRUE + * Building...OK + * Testing...OK +CH_DBG_FILL_THREADS=TRUE + * Building...OK + * Testing...OK +CH_DBG_THREADS_PROFILING=TRUE + * Building...OK + * Testing...OK diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 9014c2418..a6a2a6fb6 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,131 +2,131 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -Kernel Size = 5648 +Kernel Size = 6016 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -Kernel Size = 1296 +Kernel Size = 1280 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -Kernel Size = 5408 +Kernel Size = 5760 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -Kernel Size = 1344 +Kernel Size = 1312 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 5056 +Kernel Size = 5408 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1264 +Kernel Size = 1248 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -Kernel Size = 8192 +Kernel Size = 8656 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -Kernel Size = 2000 +Kernel Size = 1968 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -Kernel Size = 7808 +Kernel Size = 8288 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -Kernel Size = 1904 +Kernel Size = 1872 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 7328 +Kernel Size = 7792 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1856 +Kernel Size = 1840 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5376 +Kernel Size = 5680 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1376 +Kernel Size = 1360 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5152 +Kernel Size = 5488 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1344 +Kernel Size = 1312 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4832 +Kernel Size = 5152 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1280 +Kernel Size = 1264 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 5696 +Kernel Size = 6092 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1136 +Kernel Size = 1116 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 5680 +Kernel Size = 6076 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1136 +Kernel Size = 1116 diff --git a/docs/src/main.dox b/docs/src/main.dox index 58a96870d..a17c4e008 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -37,7 +37,7 @@ * - 128 priority levels. Multiple threads at the same priority level allowed.
* - Round robin scheduling for threads at the same priority level.
* - Offers threads, virtual timers, semaphores, mutexes, condvars,
- * event flags, messages, I/O queues.
+ * event flags, messages, mailboxes, I/O queues.
* - No static setup at compile time, there is no need to configure a maximum
* number of all the above objects.
* - PC simulator target included, the development can be done on the PC
diff --git a/readme.txt b/readme.txt index 40624245a..557108e72 100644 --- a/readme.txt +++ b/readme.txt @@ -84,9 +84,8 @@ Win32-MinGW - ChibiOS/RT simulator and demo into a WIN32 process, - FIX: Fixed a small problem in the chcore.c template file.
- NEW: Mailboxes (asynchronous messages) subsystem and test cases added.
- NEW: Most APIs with a timeout specification now accept the constant
- TIME_ZERO (0) that triggers an immediate timeout when trying to enter a sleep
- state. Note that the previous constant TIME_INFINITE now has value -1
- instead of zero.
+ TIME_IMMEDIATE (-1) that triggers an immediate timeout when trying to enter
+ a sleep state.
- NEW: Mode flexible debug configuration options, removed the old CH_USE_DEBUG
and CH_USE_TRACE. Replaced with CH_DBG_ENABLE_CHECKS, SCH_DBG_ENABLE_ASSERTS,
CH_DBG_ENABLE_TRACE and CH_DBG_FILL_THREADS.
@@ -99,7 +98,7 @@ Win32-MinGW - ChibiOS/RT simulator and demo into a WIN32 process, - NEW: Unified makefiles for ARM7, ARMCM3 MSP430 projects, the new makefiles
share a common part making them easier to maintain. Also reorganized the
demo-specific part of the makefile, now it is easier to configure and the
- option can be overriden from outside.
+ option can be overridden from outside.
- CHANGE: Changed the chSemFastWaitS() macro in chSemFastWaitI() and
chSemGetCounter() in chSemGetCounterI().
- CHANGE: Removed the port_puts() function from the port templates. It was not
diff --git a/src/chschd.c b/src/chschd.c index 8a5c27857..4d094d786 100644 --- a/src/chschd.c +++ b/src/chschd.c @@ -125,6 +125,7 @@ static void wakeup(void *p) { * @param[in] time the number of ticks before the operation timeouts, * the special value @p TIME_INFINITE is allowed. * It is not possible to specify @p TIME_IMMEDIATE as timeout + * specification, it is interpreted as a normal time * specification. * @return The wakeup message. * @retval RDY_TIMEOUT if a timeout occurs. |