diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2010-06-15 17:19:01 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2010-06-15 17:19:01 +0000 |
commit | 0970c44b086287eac3c6c147a390fddb0f9de552 (patch) | |
tree | c3a6fd6544e491ae6bf767675db1fabc3fbd1577 | |
parent | a544f87a38e6f0b4b60113dbec8352d5f6c04104 (diff) | |
download | ChibiOS-0970c44b086287eac3c6c147a390fddb0f9de552.tar.gz ChibiOS-0970c44b086287eac3c6c147a390fddb0f9de552.tar.bz2 ChibiOS-0970c44b086287eac3c6c147a390fddb0f9de552.zip |
Fixed bug 3016619.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2021 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | demos/AVR-AT90CANx-GCC/chconf.h | 6 | ||||
-rw-r--r-- | demos/AVR-AT90CANx-GCC/halconf.h | 2 | ||||
-rw-r--r-- | demos/AVR-ATmega128-GCC/chconf.h | 6 | ||||
-rw-r--r-- | demos/AVR-ATmega128-GCC/halconf.h | 2 | ||||
-rw-r--r-- | docs/reports/ATmega128-16.txt | 49 | ||||
-rw-r--r-- | os/ports/GCC/AVR/chcore.c | 8 | ||||
-rw-r--r-- | readme.txt | 3 |
7 files changed, 34 insertions, 42 deletions
diff --git a/demos/AVR-AT90CANx-GCC/chconf.h b/demos/AVR-AT90CANx-GCC/chconf.h index 33dcfdfca..ccab98d65 100644 --- a/demos/AVR-AT90CANx-GCC/chconf.h +++ b/demos/AVR-AT90CANx-GCC/chconf.h @@ -308,7 +308,7 @@ * @note Mutexes are recommended.
*/
#if !defined(CH_USE_HEAP) || defined(__DOXYGEN__)
-#define CH_USE_HEAP TRUE
+#define CH_USE_HEAP FALSE
#endif
/**
@@ -333,7 +333,7 @@ * @note The default is @p TRUE.
*/
#if !defined(CH_USE_MEMPOOLS) || defined(__DOXYGEN__)
-#define CH_USE_MEMPOOLS TRUE
+#define CH_USE_MEMPOOLS FALSE
#endif
/**
@@ -346,7 +346,7 @@ * @note Requires @p CH_USE_HEAP and/or @p CH_USE_MEMPOOLS.
*/
#if !defined(CH_USE_DYNAMIC) || defined(__DOXYGEN__)
-#define CH_USE_DYNAMIC TRUE
+#define CH_USE_DYNAMIC FALSE
#endif
/*===========================================================================*/
diff --git a/demos/AVR-AT90CANx-GCC/halconf.h b/demos/AVR-AT90CANx-GCC/halconf.h index bd2f3e4fd..7859d0f0e 100644 --- a/demos/AVR-AT90CANx-GCC/halconf.h +++ b/demos/AVR-AT90CANx-GCC/halconf.h @@ -110,7 +110,7 @@ * Default SERIAL settings overrides (uncomment to override).
*/
/*#define SERIAL_DEFAULT_BITRATE 38400*/
-/*#define SERIAL_BUFFERS_SIZE 64*/
+#define SERIAL_BUFFERS_SIZE 16
/*===========================================================================*/
/* SPI driver related settings. */
diff --git a/demos/AVR-ATmega128-GCC/chconf.h b/demos/AVR-ATmega128-GCC/chconf.h index 33dcfdfca..ccab98d65 100644 --- a/demos/AVR-ATmega128-GCC/chconf.h +++ b/demos/AVR-ATmega128-GCC/chconf.h @@ -308,7 +308,7 @@ * @note Mutexes are recommended.
*/
#if !defined(CH_USE_HEAP) || defined(__DOXYGEN__)
-#define CH_USE_HEAP TRUE
+#define CH_USE_HEAP FALSE
#endif
/**
@@ -333,7 +333,7 @@ * @note The default is @p TRUE.
*/
#if !defined(CH_USE_MEMPOOLS) || defined(__DOXYGEN__)
-#define CH_USE_MEMPOOLS TRUE
+#define CH_USE_MEMPOOLS FALSE
#endif
/**
@@ -346,7 +346,7 @@ * @note Requires @p CH_USE_HEAP and/or @p CH_USE_MEMPOOLS.
*/
#if !defined(CH_USE_DYNAMIC) || defined(__DOXYGEN__)
-#define CH_USE_DYNAMIC TRUE
+#define CH_USE_DYNAMIC FALSE
#endif
/*===========================================================================*/
diff --git a/demos/AVR-ATmega128-GCC/halconf.h b/demos/AVR-ATmega128-GCC/halconf.h index bd2f3e4fd..7859d0f0e 100644 --- a/demos/AVR-ATmega128-GCC/halconf.h +++ b/demos/AVR-ATmega128-GCC/halconf.h @@ -110,7 +110,7 @@ * Default SERIAL settings overrides (uncomment to override).
*/
/*#define SERIAL_DEFAULT_BITRATE 38400*/
-/*#define SERIAL_BUFFERS_SIZE 64*/
+#define SERIAL_BUFFERS_SIZE 16
/*===========================================================================*/
/* SPI driver related settings. */
diff --git a/docs/reports/ATmega128-16.txt b/docs/reports/ATmega128-16.txt index ff5a4a97d..1228d019c 100644 --- a/docs/reports/ATmega128-16.txt +++ b/docs/reports/ATmega128-16.txt @@ -5,9 +5,12 @@ Settings: F_CPU=16000000 *** ChibiOS/RT test suite
***
-*** Kernel: 1.3.5unstable
-*** Architecture: AVR
+*** Kernel: 2.1.0unstable
*** GCC Version: 4.3.0
+*** Architecture: AVR
+*** Core Variant: MegaAVR
+*** Platform: ATmega128
+*** Test Board: Olimex AVR-MT-128
----------------------------------------------------------------------------
--- Test Case 1.1 (Threads, enqueuing test #1)
@@ -70,18 +73,6 @@ Settings: F_CPU=16000000 --- 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 10.1 (Queues, input queues)
--- Result: SUCCESS
----------------------------------------------------------------------------
@@ -89,56 +80,56 @@ Settings: F_CPU=16000000 --- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.1 (Benchmark, messages #1)
---- Score : 30808 msgs/S, 61616 ctxswc/S
+--- Score : 31248 msgs/S, 62496 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, messages #2)
---- Score : 24579 msgs/S, 49158 ctxswc/S
+--- Score : 25058 msgs/S, 50116 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, messages #3)
---- Score : 24579 msgs/S, 49158 ctxswc/S
+--- Score : 25058 msgs/S, 50116 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.4 (Benchmark, context switch)
---- Score : 88608 ctxswc/S
+--- Score : 89904 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.5 (Benchmark, threads, full cycle)
---- Score : 20741 threads/S
+--- Score : 20805 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.6 (Benchmark, threads, create only)
---- Score : 26561 threads/S
+--- Score : 26709 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads)
---- Score : 7786 reschedulations/S, 46716 ctxswc/S
+--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
+--- Score : 7970 reschedules/S, 47820 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.8 (Benchmark, round robin context switching)
---- Score : 67756 reschedulations/S, 67756 ctxswc/S
+--- Score : 60756 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
---- Score : 82224 bytes/S
+--- Score : 82696 bytes/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
---- Score : 81482 timers/S
+--- Score : 81522 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
---- Score : 224224 wait+signal/S
+--- Score : 227560 wait+signal/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
---- Score : 119304 lock+unlock/S
+--- Score : 117588 lock+unlock/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.13 (Benchmark, RAM footprint)
---- System: 220 bytes
---- Thread: 27 bytes
+--- System: 230 bytes
+--- Thread: 29 bytes
--- Timer : 10 bytes
--- Semaph: 5 bytes
--- EventS: 2 bytes
diff --git a/os/ports/GCC/AVR/chcore.c b/os/ports/GCC/AVR/chcore.c index f84e6aed1..32e48ce52 100644 --- a/os/ports/GCC/AVR/chcore.c +++ b/os/ports/GCC/AVR/chcore.c @@ -67,14 +67,14 @@ void port_switch(Thread *ntp, Thread *otp) { asm volatile ("movw r30, r22");
asm volatile ("in r0, 0x3d");
- asm volatile ("std Z+6, r0");
+ asm volatile ("std Z+5, r0");
asm volatile ("in r0, 0x3e");
- asm volatile ("std Z+7, r0");
+ asm volatile ("std Z+6, r0");
asm volatile ("movw r30, r24");
- asm volatile ("ldd r0, Z+6");
+ asm volatile ("ldd r0, Z+5");
asm volatile ("out 0x3d, r0");
- asm volatile ("ldd r0, Z+7");
+ asm volatile ("ldd r0, Z+6");
asm volatile ("out 0x3e, r0");
asm volatile ("pop r29");
diff --git a/readme.txt b/readme.txt index 8740e4a35..1de033ba9 100644 --- a/readme.txt +++ b/readme.txt @@ -59,8 +59,9 @@ *****************************************************************************
*** 2.1.0 ***
+- FIX: Fixed broken AVR port (bug 3016619)(backported in 2.0.0).
- FIX: Fixed assertion in adcStop() (bug 3015109)(backported in 2.0.0).
-- OPT: Simplified the test suite code, now it is smaller (backported in 2.0.0).
+- OPT: Simplified the test suite code, now it is smaller.
*** 1.5.9 ***
- FIX: Fixed STM8 baud rate setup error (bug 3010990).
|