aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/AVR-AT90CANx-GCC/chconf.h6
-rw-r--r--demos/AVR-AT90CANx-GCC/halconf.h2
-rw-r--r--demos/AVR-ATmega128-GCC/chconf.h6
-rw-r--r--demos/AVR-ATmega128-GCC/halconf.h2
-rw-r--r--docs/reports/ATmega128-16.txt49
-rw-r--r--os/ports/GCC/AVR/chcore.c8
-rw-r--r--readme.txt3
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).