Cortex-M0 RCTV port.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2619 35acf78f-673a-0410-8e92-d51de3d6d3f4
master
gdisirio 2011-01-08 16:45:56 +00:00
parent 55173b29da
commit 52c033d27e
7 changed files with 307 additions and 145 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,162 @@
***************************************************************************
Options: -O3 -Otime --apcs=interwork
Settings: CLK=48, (2 wait states)
Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation].
***************************************************************************
*** ChibiOS/RT test suite
***
*** Kernel: 2.1.7unstable
*** Architecture: ARMv6-M
*** Core Variant: Cortex-M0
*** Platform: LPC11xx
*** Test Board: Embedded Artists LPCXpresso Base Board + LPC1114
----------------------------------------------------------------------------
--- Test Case 1.1 (Threads, enqueuing test #1)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 1.2 (Threads, enqueuing test #2)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 1.3 (Threads, priority change)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 1.4 (Threads, delays)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.1 (Semaphores, enqueuing)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.2 (Semaphores, timeout)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.3 (Semaphores, atomic signal-wait)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.4 (Binary Semaphores, functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.1 (Mutexes, priority enqueuing test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.2 (Mutexes, priority inheritance, simple case)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.3 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.4 (Mutexes, priority return)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.5 (Mutexes, status)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.6 (CondVar, signal test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.7 (CondVar, broadcast test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.8 (CondVar, boost test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 4.1 (Messages, loop)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.1 (Mailboxes, queuing and timeouts)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.1 (Events, registration and dispatch)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.2 (Events, wait and broadcast)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.3 (Events, timeouts)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 7.1 (Heap, allocation and fragmentation test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.1 (Memory Pools, queue/dequeue)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.1 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.3 (Dynamic APIs, registry and references)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.1 (Queues, input queues)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.2 (Queues, output queues)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.1 (Benchmark, messages #1)
--- Score : 116826 msgs/S, 233652 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, messages #2)
--- Score : 100172 msgs/S, 200344 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, messages #3)
--- Score : 99754 msgs/S, 199508 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.4 (Benchmark, context switch)
--- Score : 377360 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.5 (Benchmark, threads, full cycle)
--- Score : 79506 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.6 (Benchmark, threads, create only)
--- Score : 112694 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
--- Score : 33626 reschedules/S, 201756 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.8 (Benchmark, round robin context switching)
--- Score : 246616 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
--- Score : 261068 bytes/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
--- Score : 301424 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
--- Score : 614472 wait+signal/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
--- Score : 382980 lock+unlock/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.13 (Benchmark, RAM footprint)
--- System: 360 bytes
--- Thread: 68 bytes
--- Timer : 20 bytes
--- Semaph: 12 bytes
--- EventS: 4 bytes
--- EventL: 12 bytes
--- Mutex : 16 bytes
--- CondV.: 8 bytes
--- Queue : 32 bytes
--- MailB.: 40 bytes
--- Result: SUCCESS
----------------------------------------------------------------------------
Final result: SUCCESS

View File

@ -1,6 +1,6 @@
***************************************************************************
Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu
Settings: CLK=48, (3 wait states)
Settings: CLK=48, (2 wait states)
***************************************************************************
*** ChibiOS/RT test suite

View File

@ -1,6 +1,6 @@
***************************************************************************
Options: -Ohs
Settings: SYSCLK=24, ACR=0x10 (no wait states)
Settings: CLK=72, (3 wait states)
Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143
***************************************************************************

View File

@ -1,6 +1,6 @@
***************************************************************************
Options: -O3 -Otime --apcs=interwork
Settings: SYSCLK=72, ACR=0x12 (2 wait states)
Settings: CLK=72, (3 wait states)
Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation].
***************************************************************************

View File

@ -111,20 +111,20 @@ _port_irq_epilogue:
subs r3, r3, #1
str r3, [r2]
cmp r3, #0
beq .L34
beq skipexit
notrequired
cpsie i
pop {r4, pc}
.L34:
skipexit
bl chSchIsRescRequiredExI
cmp r0, #0
beq .L31
beq notrequired
mrs r1, PSP
ldr r2, =_port_saved_pc
ldr r3, [r1, #24]
str r3, [r2]
ldr r3, =_port_switch_from_isr
str r3, [r1, #24]
.L31:
pop {r4, pc}
END

View File

@ -110,6 +110,7 @@ _port_irq_epilogue PROC
str r3, [r2]
cmp r3, #0
beq skipexit
notrequired
cpsie i
pop {r4, pc}
skipexit
@ -122,7 +123,6 @@ skipexit
str r3, [r2]
ldr r3, =_port_switch_from_isr
str r3, [r1, #24]
notrequired
pop {r4, pc}
nop
ENDP