aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-03-03 09:28:39 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-03-03 09:28:39 +0000
commit9c9c8ee6e59171cec05caee08b2248cd8d8b122c (patch)
treefc7d78eeca0dd7fcdfd6bbfa9a2c8b29fd110257
parentb92739adaa97353070847f91fe0f7ceb390a693a (diff)
downloadChibiOS-9c9c8ee6e59171cec05caee08b2248cd8d8b122c.tar.gz
ChibiOS-9c9c8ee6e59171cec05caee08b2248cd8d8b122c.tar.bz2
ChibiOS-9c9c8ee6e59171cec05caee08b2248cd8d8b122c.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5348 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--demos/ARMCM4-STM32F373-STM32373C_EVAL/main.c10
-rw-r--r--docs/reports/STM32F373-72-GCC.txt164
-rw-r--r--os/hal/platforms/STM32/GPIOv2/pal_lld.c2
-rw-r--r--readme.txt1
4 files changed, 171 insertions, 6 deletions
diff --git a/demos/ARMCM4-STM32F373-STM32373C_EVAL/main.c b/demos/ARMCM4-STM32F373-STM32373C_EVAL/main.c
index 121f47e6b..607b82a1a 100644
--- a/demos/ARMCM4-STM32F373-STM32373C_EVAL/main.c
+++ b/demos/ARMCM4-STM32F373-STM32373C_EVAL/main.c
@@ -31,18 +31,18 @@ static msg_t Thread1(void *arg) {
(void)arg;
chRegSetThreadName("blinker");
while (TRUE) {
- palSetPad(GPIOC, GPIOC_LED1);
- chThdSleepMilliseconds(250);
palClearPad(GPIOC, GPIOC_LED1);
- palSetPad(GPIOC, GPIOC_LED2);
chThdSleepMilliseconds(250);
+ palSetPad(GPIOC, GPIOC_LED1);
palClearPad(GPIOC, GPIOC_LED2);
- palSetPad(GPIOC, GPIOC_LED3);
chThdSleepMilliseconds(250);
+ palSetPad(GPIOC, GPIOC_LED2);
palClearPad(GPIOC, GPIOC_LED3);
- palSetPad(GPIOC, GPIOC_LED4);
chThdSleepMilliseconds(250);
+ palSetPad(GPIOC, GPIOC_LED3);
palClearPad(GPIOC, GPIOC_LED4);
+ chThdSleepMilliseconds(250);
+ palSetPad(GPIOC, GPIOC_LED4);
}
}
diff --git a/docs/reports/STM32F373-72-GCC.txt b/docs/reports/STM32F373-72-GCC.txt
new file mode 100644
index 000000000..fb4cb2f73
--- /dev/null
+++ b/docs/reports/STM32F373-72-GCC.txt
@@ -0,0 +1,164 @@
+***************************************************************************
+Options: -O2 -fomit-frame-pointer -falign-functions=16
+Settings: SYSCLK=72, ACR=0x12 (2 wait states)
+***************************************************************************
+
+*** ChibiOS/RT test suite
+***
+*** Kernel: 2.5.2unstable
+*** Compiled: Mar 3 2013 - 09:55:54
+*** Compiler: GCC 4.7.3 20121207 (release) [ARM/embedded-4_7-branch revision 194305]
+*** Architecture: ARMv7-ME
+*** Core Variant: Cortex-M4
+*** Port Info: Advanced kernel mode
+*** Platform: STM32F37x Analog & DSP
+*** Test Board: STMicroelectronics STM32373C-EVAL
+
+----------------------------------------------------------------------------
+--- 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 : 263081 msgs/S, 526162 ctxswc/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.2 (Benchmark, messages #2)
+--- Score : 212496 msgs/S, 424992 ctxswc/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.3 (Benchmark, messages #3)
+--- Score : 212496 msgs/S, 424992 ctxswc/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.4 (Benchmark, context switch)
+--- Score : 931272 ctxswc/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.5 (Benchmark, threads, full cycle)
+--- Score : 157855 threads/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.6 (Benchmark, threads, create only)
+--- Score : 233196 threads/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
+--- Score : 64413 reschedules/S, 386478 ctxswc/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.8 (Benchmark, round robin context switching)
+--- Score : 475640 ctxswc/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.9 (Benchmark, I/O Queues throughput)
+--- Score : 629324 bytes/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.10 (Benchmark, virtual timers set/reset)
+--- Score : 655914 timers/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.11 (Benchmark, semaphores wait/signal)
+--- Score : 778572 wait+signal/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
+--- Score : 576896 lock+unlock/S
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 11.13 (Benchmark, RAM footprint)
+--- System: 404 bytes
+--- Thread: 72 bytes
+--- Timer : 20 bytes
+--- Semaph: 12 bytes
+--- EventS: 4 bytes
+--- EventL: 16 bytes
+--- Mutex : 16 bytes
+--- CondV.: 8 bytes
+--- Queue : 36 bytes
+--- MailB.: 40 bytes
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+
+Final result: SUCCESS
diff --git a/os/hal/platforms/STM32/GPIOv2/pal_lld.c b/os/hal/platforms/STM32/GPIOv2/pal_lld.c
index 01f74bdc9..ac4891317 100644
--- a/os/hal/platforms/STM32/GPIOv2/pal_lld.c
+++ b/os/hal/platforms/STM32/GPIOv2/pal_lld.c
@@ -115,7 +115,7 @@ void _pal_lld_init(const PALConfig *config) {
RCC->AHBLPENR |= AHB_LPEN_MASK;
#elif defined(STM32F0XX)
rccEnableAHB(AHB_EN_MASK, TRUE);
-#elif defined(STM32F30X)
+#elif defined(STM32F30X) || defined(STM32F37X)
rccEnableAHB(AHB_EN_MASK, TRUE);
#elif defined(STM32F2XX) || defined(STM32F4XX)
RCC->AHB1ENR |= AHB1_EN_MASK;
diff --git a/readme.txt b/readme.txt
index c60e367ff..6a6c33c3b 100644
--- a/readme.txt
+++ b/readme.txt
@@ -120,6 +120,7 @@
(backported to 2.4.3).
- FIX: Fixed wrong SPI path in platform_f105_f107.mk (bug 3598151).
- FIX: Fixed PHY powerdown issues not fixed (bug 3596911).
+- NEW: Added preliminary support to the STM32F37x family.
- NEW: Now the general documentation includes data extracted from the low
level driver templates. Per-platform/architecture documents are no more
required and will be replaced with technical articles and examples for