git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1909 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2010-05-08 10:30:38 +00:00
parent dd0dcbb957
commit 691538eb39
4 changed files with 213 additions and 209 deletions

View File

@ -5,8 +5,8 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states)
*** ChibiOS/RT test suite
***
*** Kernel: 1.5.5unstable
*** GCC Version: 4.4.2
*** Kernel: 1.5.6unstable
*** GCC Version: 4.5.0
*** Architecture: ARMv7-M
*** Core Variant: Cortex-M3
*** Platform: STM32
@ -85,6 +85,9 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states)
--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.3 (Dynamic APIs, registry and references)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.1 (Queues, input queues)
--- Result: SUCCESS
----------------------------------------------------------------------------
@ -92,51 +95,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.1 (Benchmark, messages #1)
--- Score : 249456 msgs/S, 498912 ctxswc/S
--- Score : 250283 msgs/S, 500566 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, messages #2)
--- Score : 197915 msgs/S, 395830 ctxswc/S
--- Score : 203498 msgs/S, 406996 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, messages #3)
--- Score : 197915 msgs/S, 395830 ctxswc/S
--- Score : 203498 msgs/S, 406996 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.4 (Benchmark, context switch)
--- Score : 829384 ctxswc/S
--- Score : 838936 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.5 (Benchmark, threads, full cycle)
--- Score : 152537 threads/S
--- Score : 159279 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.6 (Benchmark, threads, create only)
--- Score : 221748 threads/S
--- Score : 228043 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
--- Score : 61567 reschedules/S, 369402 ctxswc/S
--- Score : 62250 reschedules/S, 373500 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.8 (Benchmark, round robin context switching)
--- Score : 487900 ctxswc/S
--- Score : 481292 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
--- Score : 474864 bytes/S
--- Score : 487684 bytes/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
--- Score : 647306 timers/S
--- Score : 647206 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
--- Score : 833124 wait+signal/S
--- Score : 823472 wait+signal/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
--- Score : 644432 lock+unlock/S
--- Score : 638608 lock+unlock/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.13 (Benchmark, RAM footprint)

View File

@ -21,11 +21,11 @@ Lines executed:100.00% of 65
../../os/kernel/src/chschd.c:creating `chschd.c.gcov'
File `../../os/kernel/src/chthreads.c'
Lines executed:95.00% of 120
Lines executed:100.00% of 120
../../os/kernel/src/chthreads.c:creating `chthreads.c.gcov'
File `../../os/kernel/src/chregistry.c'
Lines executed:0.00% of 18
Lines executed:100.00% of 18
../../os/kernel/src/chregistry.c:creating `chregistry.c.gcov'
File `../../os/kernel/src/chsem.c'
@ -57,7 +57,7 @@ Lines executed:100.00% of 110
../../os/kernel/src/chqueues.c:creating `chqueues.c.gcov'
File `../../os/kernel/src/chmemcore.c'
Lines executed:90.00% of 20
Lines executed:100.00% of 20
../../os/kernel/src/chmemcore.c:creating `chmemcore.c.gcov'
File `../../os/kernel/src/chheap.c'
@ -65,7 +65,7 @@ Lines executed:100.00% of 79
../../os/kernel/src/chheap.c:creating `chheap.c.gcov'
File `../../os/kernel/src/chmempools.c'
Lines executed:96.43% of 28
Lines executed:100.00% of 28
../../os/kernel/src/chmempools.c:creating `chmempools.c.gcov'
mv -f *.gcov ./gcov

View File

@ -36,238 +36,238 @@ Kernel Size = 2200
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5540
Kernel Size = 5748
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 5108
Kernel Size = 5280
Platform : ARM Cortex-M3
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb
Kernel Size = 1532
Kernel Size = 1512
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5320
Kernel Size = 5192
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 4936
Kernel Size = 4820
Platform : ARM Cortex-M3
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb
Kernel Size = 1460
Kernel Size = 1340
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5128
Kernel Size = 4980
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 4760
Kernel Size = 4624
Platform : ARM Cortex-M3
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\"
Kernel Size = 1420
Kernel Size = 1284
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 4996
Kernel Size = 5060
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 4788
Kernel Size = 4872
Platform : ARM Cortex-M0
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb
Kernel Size = 1352
Kernel Size = 1348
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 4696
Kernel Size = 4672
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 4524
Kernel Size = 4516
Platform : ARM Cortex-M0
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb
Kernel Size = 1260
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 7824
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 7420
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2
Kernel Size = 1868
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 7592
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 7216
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os
Kernel Size = 1824
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 7548
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 7152
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\"
Kernel Size = 1796
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 7300
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 6940
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\"
Kernel Size = 1772
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5156
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 4952
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1312
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 4988
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 4796
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1292
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5000
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 4812
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1268
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 4792
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 4636
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-elf-gcc (GCC) 4.4.2
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1252
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 8380
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 7928
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2
Kernel Size = 1884
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 7772
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 7408
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os
Kernel Size = 1676
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 8100
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 7660
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\"
Kernel Size = 1816
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 7480
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 7136
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\"
Kernel Size = 1608
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5604
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5396
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1364
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5240
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5048
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1272
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5456
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5264
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1316
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5016
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 4856
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1220
Platform : MSP430
OS Setup : Full kernel
Compiler : msp430-gcc (GCC) 3.2.3

View File

@ -53,6 +53,12 @@
*/
#if CH_USE_DYNAMIC
#if CH_USE_HEAP
static MemoryHeap heap1;
#endif
#if CH_USE_MEMPOOLS
static MemoryPool mp1;
#endif
/**
* @page test_dynamic_001 Threads creation from Memory Heap
@ -72,9 +78,6 @@ static msg_t thread(void *p) {
}
#if CH_USE_HEAP
static MemoryHeap heap1;
static char *dyn1_gettest(void) {
return "Dynamic APIs, threads creation from heap";
@ -138,8 +141,6 @@ const struct testcase testdyn1 = {
* one to fail.
*/
static MemoryPool mp1;
static char *dyn2_gettest(void) {
return "Dynamic APIs, threads creation from memory pool";
@ -190,7 +191,7 @@ const struct testcase testdyn2 = {
};
#endif /* CH_USE_MEMPOOLS */
#if CH_USE_HEAP
#if CH_USE_HEAP && CH_USE_REGISTRY
/**
* @page test_dynamic_003 Registry and References test
*
@ -223,6 +224,7 @@ static void dyn3_setup(void) {
static void dyn3_execute(void) {
unsigned n1, n2, n3;
Thread *tp;
tprio_t prio = chThdGetPriority();
/* Current number of threads in the system, two times just in case some
@ -231,23 +233,22 @@ static void dyn3_execute(void) {
n1 = regscan();
/* Testing references increase/decrease and final detach.*/
threads[0] = chThdCreateFromHeap(&heap1, THD_WA_SIZE(THREADS_STACK_SIZE),
prio-1, thread, "A");
test_assert(1, threads[0]->p_refs == 1, "wrong initial reference counter");
chThdAddRef(threads[0]);
test_assert(2, threads[0]->p_refs == 2, "references increase failure");
chThdRelease(threads[0]);
test_assert(3, threads[0]->p_refs == 1, "references decrease failure");
tp = chThdCreateFromHeap(&heap1, WA_SIZE, prio-1, thread, "A");
test_assert(1, tp->p_refs == 1, "wrong initial reference counter");
chThdAddRef(tp);
test_assert(2, tp->p_refs == 2, "references increase failure");
chThdRelease(tp);
test_assert(3, tp->p_refs == 1, "references decrease failure");
/* Verify the new threads count.*/
n2 = regscan();
test_assert(4, n1 == n2 - 1, "unexpected threads count");
/* Detach and let the thread execute and terminate.*/
chThdRelease(threads[0]);
test_assert(5, threads[0]->p_refs == 0, "detach failure");
chThdRelease(tp);
test_assert(5, tp->p_refs == 0, "detach failure");
chThdSleepMilliseconds(50); /* The thread just terminates. */
test_assert(6, threads[0]->p_state == THD_STATE_FINAL, "invalid state");
test_assert(6, tp->p_state == THD_STATE_FINAL, "invalid state");
/* Clearing the zombie by scanning the registry.*/
n3 = regscan();
@ -260,7 +261,7 @@ const struct testcase testdyn3 = {
NULL,
dyn3_execute
};
#endif /* CH_USE_HEAP */
#endif /* CH_USE_HEAP && CH_USE_REGISTRY */
#endif /* CH_USE_DYNAMIC */
/**
@ -274,7 +275,7 @@ const struct testcase * const patterndyn[] = {
#if CH_USE_MEMPOOLS
&testdyn2,
#endif
#if CH_USE_HEAP
#if CH_USE_HEAP && CH_USE_REGISTRY
&testdyn3,
#endif
#endif