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 23 (Benchmark, virtual timers set/reset) ---- Score : 309500 timers/S +--- 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 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 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 : 17284 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 : 17220 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 : 160572 msgs/S, 321144 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 : 134029 msgs/S, 268058 ctxswc/S +--- Test Case 11.1 (Benchmark, context switch #1, optimal) +--- Score : 160570 msgs/S, 321140 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.2 (Benchmark, context switch #2, empty 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.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 134030 msgs/S, 268060 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 151423 threads/S +--- Test Case 11.4 (Benchmark, threads creation/termination, worst case) +--- Score : 122385 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Test Case 11.5 (Benchmark, threads creation/termination, optimal) +--- Score : 155364 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- 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 23 (Benchmark, virtual timers set/reset) ---- Score : 525896 timers/S +--- 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 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 = 5760 + +Platform : ARM Cortex-M3 +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -mthumb +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 = 5408 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 -Options : -Os -mthumb -Kernel Size = 1344 - -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 - -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 = 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 = 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 = 5152 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 - -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 - -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.