git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7887 35acf78f-673a-0410-8e92-d51de3d6d3f4
parent
af35dcf4d9
commit
5e74f17084
|
@ -38,7 +38,7 @@ PROJECT_NAME = ChibiOS/HAL
|
|||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 3.0.0p2
|
||||
PROJECT_NUMBER = 3.0.0p3
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
|
|
@ -38,7 +38,7 @@ PROJECT_NAME = ChibiOS/HAL
|
|||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 3.0.0p2
|
||||
PROJECT_NUMBER = 3.0.0p3
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
|
|
@ -38,7 +38,7 @@ PROJECT_NAME = ChibiOS/NIL
|
|||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 1.0.0p2
|
||||
PROJECT_NUMBER = 1.0.0p3
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
|
|
@ -38,7 +38,7 @@ PROJECT_NAME = ChibiOS/NIL
|
|||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 1.0.0p2
|
||||
PROJECT_NUMBER = 1.0.0p3
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
|
|
@ -38,7 +38,7 @@ PROJECT_NAME = ChibiOS/RT
|
|||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 3.0.0p2
|
||||
PROJECT_NUMBER = 3.0.0p3
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
|
|
@ -38,7 +38,7 @@ PROJECT_NAME = ChibiOS/RT
|
|||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 3.0.0p2
|
||||
PROJECT_NUMBER = 3.0.0p3
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
|
|
@ -1,14 +1,9 @@
|
|||
***************************************************************************
|
||||
Options: -O2 -fomit-frame-pointer -falign-functions=16
|
||||
Settings: SYSCLK=168, ACR=0x705 (5 wait states)
|
||||
***************************************************************************
|
||||
|
||||
|
||||
*** ChibiOS/RT test suite
|
||||
***
|
||||
*** Kernel: 3.0.0dev
|
||||
*** Compiled: Dec 11 2014 - 16:29:11
|
||||
*** Compiler: GCC 4.7.3 20130312 (release) [ARM/embedded-4_7-branch revision 196615]
|
||||
*** Kernel: 3.0.0
|
||||
*** Compiled: Apr 13 2015 - 10:56:19
|
||||
*** Compiler: GCC 4.7.4 20140401 (release) [ARM/embedded-4_7-branch revision 209195]
|
||||
*** Architecture: ARMv7-ME
|
||||
*** Core Variant: Cortex-M4F
|
||||
*** Port Info: Advanced kernel mode
|
||||
|
@ -16,133 +11,142 @@ Settings: SYSCLK=168, ACR=0x705 (5 wait states)
|
|||
*** Test Board: STMicroelectronics STM32F4-Discovery
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 1.1 (Threads, enqueuing test #1)
|
||||
--- Test Case 1.1 (System, critical zones)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 1.2 (Threads, enqueuing test #2)
|
||||
--- Test Case 1.2 (System, interrupts handling)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 1.3 (Threads, priority change)
|
||||
--- Test Case 1.3 (System, integrity)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 1.4 (Threads, delays)
|
||||
--- Test Case 2.1 (Threads, enqueuing test #1)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 2.1 (Semaphores, enqueuing)
|
||||
--- Test Case 2.2 (Threads, enqueuing test #2)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 2.2 (Semaphores, timeout)
|
||||
--- Test Case 2.3 (Threads, priority change)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 2.3 (Semaphores, atomic signal-wait)
|
||||
--- Test Case 2.4 (Threads, delays)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 2.4 (Binary Semaphores, functionality)
|
||||
--- Test Case 3.1 (Semaphores, enqueuing)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.1 (Mutexes, priority enqueuing test)
|
||||
--- Test Case 3.2 (Semaphores, timeout)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.2 (Mutexes, priority return)
|
||||
--- Test Case 3.3 (Semaphores, atomic signal-wait)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.3 (Mutexes, status)
|
||||
--- Test Case 3.4 (Binary Semaphores, functionality)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.4 (CondVar, signal test)
|
||||
--- Test Case 4.1 (Mutexes, priority enqueuing test)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.5 (CondVar, broadcast test)
|
||||
--- Test Case 4.2 (Mutexes, priority return)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.6 (CondVar, boost test)
|
||||
--- Test Case 4.3 (Mutexes, status)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 4.1 (Messages, loop)
|
||||
--- Test Case 4.4 (CondVar, signal test)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 5.1 (Mailboxes, queuing and timeouts)
|
||||
--- Test Case 4.5 (CondVar, broadcast test)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 6.1 (Events, registration and dispatch)
|
||||
--- Test Case 4.6 (CondVar, boost test)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 6.2 (Events, wait and broadcast)
|
||||
--- Test Case 5.1 (Messages, loop)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 6.3 (Events, timeouts)
|
||||
--- Test Case 6.1 (Mailboxes, queuing and timeouts)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 7.1 (Heap, allocation and fragmentation test)
|
||||
--- Test Case 7.1 (Events, registration and dispatch)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 8.1 (Memory Pools, queue/dequeue)
|
||||
--- Test Case 7.2 (Events, wait and broadcast)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 9.1 (Dynamic APIs, threads creation from heap)
|
||||
--- Test Case 7.3 (Events, timeouts)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool)
|
||||
--- Test Case 8.1 (Heap, allocation and fragmentation test)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 9.3 (Dynamic APIs, registry and references)
|
||||
--- Test Case 9.1 (Memory Pools, queue/dequeue)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 10.1 (Queues, input queues)
|
||||
--- Test Case 10.1 (Dynamic APIs, threads creation from heap)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 10.2 (Queues, output queues)
|
||||
--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.1 (Benchmark, messages #1)
|
||||
--- Score : 604310 msgs/S, 1208620 ctxswc/S
|
||||
--- Test Case 10.3 (Dynamic APIs, registry and references)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.2 (Benchmark, messages #2)
|
||||
--- Test Case 11.1 (Queues, input queues)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.2 (Queues, output queues)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 12.1 (Benchmark, messages #1)
|
||||
--- Score : 604311 msgs/S, 1208622 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 12.2 (Benchmark, messages #2)
|
||||
--- Score : 513757 msgs/S, 1027514 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.3 (Benchmark, messages #3)
|
||||
--- Test Case 12.3 (Benchmark, messages #3)
|
||||
--- Score : 513757 msgs/S, 1027514 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.4 (Benchmark, context switch)
|
||||
--- Test Case 12.4 (Benchmark, context switch)
|
||||
--- Score : 1686320 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.5 (Benchmark, threads, full cycle)
|
||||
--- Score : 394363 threads/S
|
||||
--- Test Case 12.5 (Benchmark, threads, full cycle)
|
||||
--- Score : 397159 threads/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.6 (Benchmark, threads, create only)
|
||||
--- Score : 543685 threads/S
|
||||
--- Test Case 12.6 (Benchmark, threads, create only)
|
||||
--- Score : 549015 threads/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
|
||||
--- Test Case 12.7 (Benchmark, mass reschedule, 5 threads)
|
||||
--- Score : 166172 reschedules/S, 997032 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.8 (Benchmark, round robin context switching)
|
||||
--- Score : 1197856 ctxswc/S
|
||||
--- Test Case 12.8 (Benchmark, round robin context switching)
|
||||
--- Score : 1197852 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
|
||||
--- Test Case 12.9 (Benchmark, I/O Queues throughput)
|
||||
--- Score : 1873164 bytes/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
|
||||
--- Score : 1322832 timers/S
|
||||
--- Test Case 12.10 (Benchmark, virtual timers set/reset)
|
||||
--- Score : 341352 timers/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
|
||||
--- Score : 3199988 wait+signal/S
|
||||
--- Test Case 12.11 (Benchmark, semaphores wait/signal)
|
||||
--- Score : 3199984 wait+signal/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
|
||||
--- Score : 1856348 lock+unlock/S
|
||||
--- Test Case 12.12 (Benchmark, mutexes lock/unlock)
|
||||
--- Score : 1856344 lock+unlock/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.13 (Benchmark, RAM footprint)
|
||||
--- Test Case 12.13 (Benchmark, RAM footprint)
|
||||
--- System: 472 bytes
|
||||
--- Thread: 68 bytes
|
||||
--- Timer : 20 bytes
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
***************************************************************************
|
||||
Options: -O2 -fomit-frame-pointer -falign-functions=16
|
||||
Settings: SYSCLK=168, ACR=0x705 (5 wait states)
|
||||
***************************************************************************
|
||||
|
||||
*** ChibiOS/RT test suite
|
||||
***
|
||||
*** Kernel: 3.0.0dev
|
||||
*** Compiled: Mar 23 2015 - 11:26:02
|
||||
*** Kernel: 3.0.0
|
||||
*** Compiled: Apr 13 2015 - 10:53:28
|
||||
*** Compiler: GCC 4.7.4 20140401 (release) [ARM/embedded-4_7-branch revision 209195]
|
||||
*** Architecture: ARMv7-ME
|
||||
*** Core Variant: Cortex-M4
|
||||
|
@ -15,133 +11,142 @@ Settings: SYSCLK=168, ACR=0x705 (5 wait states)
|
|||
*** Test Board: STMicroelectronics STM32F4-Discovery
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 1.1 (Threads, enqueuing test #1)
|
||||
--- Test Case 1.1 (System, critical zones)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 1.2 (Threads, enqueuing test #2)
|
||||
--- Test Case 1.2 (System, interrupts handling)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 1.3 (Threads, priority change)
|
||||
--- Test Case 1.3 (System, integrity)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 1.4 (Threads, delays)
|
||||
--- Test Case 2.1 (Threads, enqueuing test #1)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 2.1 (Semaphores, enqueuing)
|
||||
--- Test Case 2.2 (Threads, enqueuing test #2)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 2.2 (Semaphores, timeout)
|
||||
--- Test Case 2.3 (Threads, priority change)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 2.3 (Semaphores, atomic signal-wait)
|
||||
--- Test Case 2.4 (Threads, delays)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 2.4 (Binary Semaphores, functionality)
|
||||
--- Test Case 3.1 (Semaphores, enqueuing)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.1 (Mutexes, priority enqueuing test)
|
||||
--- Test Case 3.2 (Semaphores, timeout)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.2 (Mutexes, priority return)
|
||||
--- Test Case 3.3 (Semaphores, atomic signal-wait)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.3 (Mutexes, status)
|
||||
--- Test Case 3.4 (Binary Semaphores, functionality)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.4 (CondVar, signal test)
|
||||
--- Test Case 4.1 (Mutexes, priority enqueuing test)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.5 (CondVar, broadcast test)
|
||||
--- Test Case 4.2 (Mutexes, priority return)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 3.6 (CondVar, boost test)
|
||||
--- Test Case 4.3 (Mutexes, status)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 4.1 (Messages, loop)
|
||||
--- Test Case 4.4 (CondVar, signal test)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 5.1 (Mailboxes, queuing and timeouts)
|
||||
--- Test Case 4.5 (CondVar, broadcast test)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 6.1 (Events, registration and dispatch)
|
||||
--- Test Case 4.6 (CondVar, boost test)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 6.2 (Events, wait and broadcast)
|
||||
--- Test Case 5.1 (Messages, loop)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 6.3 (Events, timeouts)
|
||||
--- Test Case 6.1 (Mailboxes, queuing and timeouts)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 7.1 (Heap, allocation and fragmentation test)
|
||||
--- Test Case 7.1 (Events, registration and dispatch)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 8.1 (Memory Pools, queue/dequeue)
|
||||
--- Test Case 7.2 (Events, wait and broadcast)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 9.1 (Dynamic APIs, threads creation from heap)
|
||||
--- Test Case 7.3 (Events, timeouts)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool)
|
||||
--- Test Case 8.1 (Heap, allocation and fragmentation test)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 9.3 (Dynamic APIs, registry and references)
|
||||
--- Test Case 9.1 (Memory Pools, queue/dequeue)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 10.1 (Queues, input queues)
|
||||
--- Test Case 10.1 (Dynamic APIs, threads creation from heap)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 10.2 (Queues, output queues)
|
||||
--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.1 (Benchmark, messages #1)
|
||||
--- Score : 799994 msgs/S, 1599988 ctxswc/S
|
||||
--- Test Case 10.3 (Dynamic APIs, registry and references)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.2 (Benchmark, messages #2)
|
||||
--- Test Case 11.1 (Queues, input queues)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.2 (Queues, output queues)
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 12.1 (Benchmark, messages #1)
|
||||
--- Score : 799993 msgs/S, 1599986 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 12.2 (Benchmark, messages #2)
|
||||
--- Score : 648644 msgs/S, 1297288 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.3 (Benchmark, messages #3)
|
||||
--- Test Case 12.3 (Benchmark, messages #3)
|
||||
--- Score : 648644 msgs/S, 1297288 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.4 (Benchmark, context switch)
|
||||
--- Test Case 12.4 (Benchmark, context switch)
|
||||
--- Score : 2559992 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.5 (Benchmark, threads, full cycle)
|
||||
--- Score : 467963 threads/S
|
||||
--- Test Case 12.5 (Benchmark, threads, full cycle)
|
||||
--- Score : 471906 threads/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.6 (Benchmark, threads, create only)
|
||||
--- Score : 691353 threads/S
|
||||
--- Test Case 12.6 (Benchmark, threads, create only)
|
||||
--- Score : 699995 threads/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
|
||||
--- Test Case 12.7 (Benchmark, mass reschedule, 5 threads)
|
||||
--- Score : 208178 reschedules/S, 1249068 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.8 (Benchmark, round robin context switching)
|
||||
--- Test Case 12.8 (Benchmark, round robin context switching)
|
||||
--- Score : 1581160 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
|
||||
--- Test Case 12.9 (Benchmark, I/O Queues throughput)
|
||||
--- Score : 1873164 bytes/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
|
||||
--- Score : 1322828 timers/S
|
||||
--- Test Case 12.10 (Benchmark, virtual timers set/reset)
|
||||
--- Score : 341078 timers/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
|
||||
--- Test Case 12.11 (Benchmark, semaphores wait/signal)
|
||||
--- Score : 3199988 wait+signal/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
|
||||
--- Test Case 12.12 (Benchmark, mutexes lock/unlock)
|
||||
--- Score : 1856348 lock+unlock/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.13 (Benchmark, RAM footprint)
|
||||
--- Test Case 12.13 (Benchmark, RAM footprint)
|
||||
--- System: 336 bytes
|
||||
--- Thread: 68 bytes
|
||||
--- Timer : 20 bytes
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
/**
|
||||
* @brief HAL version string.
|
||||
*/
|
||||
#define HAL_VERSION "3.0.0p2"
|
||||
#define HAL_VERSION "3.0.0p3"
|
||||
|
||||
/**
|
||||
* @brief HAL version major number.
|
||||
|
|
|
@ -61,7 +61,7 @@ typedef struct nil_thread thread_t;
|
|||
/**
|
||||
* @brief Kernel version string.
|
||||
*/
|
||||
#define CH_KERNEL_VERSION "1.0.0p2"
|
||||
#define CH_KERNEL_VERSION "1.0.0p3"
|
||||
|
||||
/**
|
||||
* @brief Kernel version major number.
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
/**
|
||||
* @brief Kernel version string.
|
||||
*/
|
||||
#define CH_KERNEL_VERSION "3.0.0p2"
|
||||
#define CH_KERNEL_VERSION "3.0.0p3"
|
||||
|
||||
/**
|
||||
* @brief Kernel version major number.
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="cr2-adc_lld_start_conversion-(format)" val="4"/><content id="CR2-adc-null-port_wait_for_interrupt-(format)" val="4"/><content id="CR2-adc-adcp-adc_lld_start_conversion-(format)" val="4"/></contentList>"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="CR2-adc-adcp-adc_lld_start_conversion-(format)" val="4"/><content id="CR2-adc-null-port_wait_for_interrupt-(format)" val="4"/><content id="cr2-adc_lld_start_conversion-(format)" val="4"/></contentList>"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <globalVariableList/> "/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList/> "/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
|
||||
<stringAttribute key="bad_container_name" value="\STM32F4xx-CAN\debug"/>
|
||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="1"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="set remotetimeout 20 monitor reset init monitor sleep 50 "/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-none-eabi-gdb"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
|
||||
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
|
||||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="cr2-adc_lld_start_conversion-(format)" val="4"/><content id="CR2-adc-null-port_wait_for_interrupt-(format)" val="4"/><content id="CR2-adc-adcp-adc_lld_start_conversion-(format)" val="4"/></contentList>"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <globalVariableList/> "/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList/> "/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="STM32F4xx-CAN"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.865376734"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/STM32F4xx-CAN"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
</listAttribute>
|
||||
</launchConfiguration>
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
# Compiler options here.
|
||||
ifeq ($(USE_OPT),)
|
||||
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
|
||||
USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
|
||||
endif
|
||||
|
||||
# C specific options here (added to USE_OPT).
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
|
||||
<stringAttribute key="bad_container_name" value="\STM32F4xx-DMA_STORM\debug"/>
|
||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="1"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="set remotetimeout 20 monitor reset init monitor sleep 50 "/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-none-eabi-gdb"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
|
||||
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
|
||||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="CR2-adc-adcp-adc_lld_start_conversion-(format)" val="4"/><content id="CR2-adc-null-port_wait_for_interrupt-(format)" val="4"/><content id="cr2-adc_lld_start_conversion-(format)" val="4"/></contentList>"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <globalVariableList/> "/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList/> "/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="STM32F4xx-DMA_STORM"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.603715936"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/STM32F4xx-DMA_STORM"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
</listAttribute>
|
||||
</launchConfiguration>
|
|
@ -19,9 +19,23 @@
|
|||
#include "ch.h"
|
||||
#include "hal.h"
|
||||
|
||||
/**
|
||||
* DMA operation timeout failure handler.
|
||||
*/
|
||||
static void tmo(void *p) {
|
||||
|
||||
chSysHalt((const char *)p);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
/* ADC related code. */
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#define ADC_GRP2_NUM_CHANNELS 8
|
||||
#define ADC_GRP2_BUF_DEPTH 16
|
||||
|
||||
static virtual_timer_t adcvt;
|
||||
|
||||
static adcsample_t samples2[ADC_GRP2_NUM_CHANNELS * ADC_GRP2_BUF_DEPTH];
|
||||
|
||||
static void adccallback(ADCDriver *adcp, adcsample_t *buffer, size_t n) {
|
||||
|
@ -29,6 +43,10 @@ static void adccallback(ADCDriver *adcp, adcsample_t *buffer, size_t n) {
|
|||
(void)adcp;
|
||||
(void)buffer;
|
||||
(void)n;
|
||||
|
||||
chSysLockFromISR();
|
||||
chVTSetI(&adcvt, MS2ST(10), tmo, (void *)"ADC timeout");
|
||||
chSysUnlockFromISR();
|
||||
}
|
||||
|
||||
static void adcerrorcallback(ADCDriver *adcp, adcerror_t err) {
|
||||
|
@ -60,6 +78,10 @@ static const ADCConversionGroup adcgrpcfg2 = {
|
|||
ADC_SQR3_SQ2_N(ADC_CHANNEL_IN12) | ADC_SQR3_SQ1_N(ADC_CHANNEL_IN11)
|
||||
};
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
/* SPI related code. */
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* Maximum speed SPI configuration (21MHz, CPHA=0, CPOL=0, MSb first).
|
||||
*/
|
||||
|
@ -70,12 +92,6 @@ static const SPIConfig hs_spicfg = {
|
|||
0
|
||||
};
|
||||
|
||||
static void tmo(void *p) {
|
||||
|
||||
(void)p;
|
||||
chSysHalt("timeout");
|
||||
}
|
||||
|
||||
/*
|
||||
* SPI thread.
|
||||
*/
|
||||
|
@ -89,6 +105,8 @@ static THD_FUNCTION(spi_thread, p) {
|
|||
uint8_t txbuf[256];
|
||||
uint8_t rxbuf[256];
|
||||
|
||||
chRegSetThreadName("SPI overlord");
|
||||
|
||||
chVTObjectInit(&vt);
|
||||
|
||||
/* Prepare transmit pattern.*/
|
||||
|
@ -99,7 +117,7 @@ static THD_FUNCTION(spi_thread, p) {
|
|||
while (true) {
|
||||
/* Starts a VT working as watchdog to catch a malfunction in the SPI
|
||||
driver.*/
|
||||
chVTSet(&vt, MS2ST(10), tmo, NULL);
|
||||
chVTSet(&vt, MS2ST(10), tmo, (void *)"SPI timeout");
|
||||
|
||||
spiExchange(spip, sizeof(txbuf), txbuf, rxbuf);
|
||||
|
||||
|
@ -108,9 +126,13 @@ static THD_FUNCTION(spi_thread, p) {
|
|||
}
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
/* Application code. */
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* This is a periodic thread that does absolutely nothing except flashing
|
||||
* a LED.
|
||||
* a LED. If the application fails then the LED stops flashing.
|
||||
*/
|
||||
static THD_WORKING_AREA(waThread1, 128);
|
||||
static THD_FUNCTION(Thread1, arg) {
|
||||
|
@ -148,7 +170,8 @@ int main(void) {
|
|||
adcStart(&ADCD1, NULL);
|
||||
adcSTM32EnableTSVREFE();
|
||||
|
||||
/* Starts an ADC continuous conversion.*/
|
||||
/* Starts an ADC continuous conversion and its watchdog virtual timer.*/
|
||||
chVTSet(&adcvt, MS2ST(10), tmo, (void *)"ADC timeout");
|
||||
adcStartConversion(&ADCD1, &adcgrpcfg2, samples2, ADC_GRP2_BUF_DEPTH);
|
||||
|
||||
/* Activating SPI drivers.*/
|
||||
|
@ -180,7 +203,7 @@ int main(void) {
|
|||
|
||||
/* Starts a VT working as watchdog to catch a malfunction in the DMA
|
||||
driver.*/
|
||||
chVTSet(&vt, MS2ST(10), tmo, NULL);
|
||||
chVTSet(&vt, MS2ST(10), tmo, (void *)"copy timeout");
|
||||
|
||||
/* Copy pattern 1.*/
|
||||
dmaStartMemCopy(STM32_DMA2_STREAM6,
|
||||
|
|
Loading…
Reference in New Issue