aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-10-16 19:24:04 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-10-16 19:24:04 +0000
commit904ecb82fa145200731ee4f6a244c05da07f7ade (patch)
tree19d086f2e2ed57877ef1071a6e178cf5877283f0
parent73a96c620a805c16d22a0e4a16def5498a3337f5 (diff)
downloadChibiOS-904ecb82fa145200731ee4f6a244c05da07f7ade.tar.gz
ChibiOS-904ecb82fa145200731ee4f6a244c05da07f7ade.tar.bz2
ChibiOS-904ecb82fa145200731ee4f6a244c05da07f7ade.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7407 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--demos/LPC21xx/RT-LPC214x-OLIMEX/debug/RT-LPC214x-OLIMEX (OpenOCD, Flash and Run).launch2
-rw-r--r--doc/reports/LPC2148-48-ARM.txt6
-rw-r--r--doc/reports/LPC2148-48-THUMB.txt26
-rw-r--r--os/rt/ports/ARM/compilers/GCC/chcoreasm.s10
4 files changed, 25 insertions, 19 deletions
diff --git a/demos/LPC21xx/RT-LPC214x-OLIMEX/debug/RT-LPC214x-OLIMEX (OpenOCD, Flash and Run).launch b/demos/LPC21xx/RT-LPC214x-OLIMEX/debug/RT-LPC214x-OLIMEX (OpenOCD, Flash and Run).launch
index 4f46da0a9..97058e1ee 100644
--- a/demos/LPC21xx/RT-LPC214x-OLIMEX/debug/RT-LPC214x-OLIMEX (OpenOCD, Flash and Run).launch
+++ b/demos/LPC21xx/RT-LPC214x-OLIMEX/debug/RT-LPC214x-OLIMEX (OpenOCD, Flash and Run).launch
@@ -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="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList&gt;&lt;content id=&quot;r0-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r1-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r3-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r4-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r6-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;cpsr-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;lr_abt-(format)&quot; val=&quot;4&quot;/&gt;&lt;/contentList&gt;"/>
+<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList&gt;&lt;content id=&quot;spsr_und-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;lr_abt-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;cpsr-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r6-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r4-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r3-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r1-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;r0-(format)&quot; val=&quot;4&quot;/&gt;&lt;/contentList&gt;"/>
<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList/&gt;&#13;&#10;"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
diff --git a/doc/reports/LPC2148-48-ARM.txt b/doc/reports/LPC2148-48-ARM.txt
index 75861a228..dec331321 100644
--- a/doc/reports/LPC2148-48-ARM.txt
+++ b/doc/reports/LPC2148-48-ARM.txt
@@ -6,7 +6,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states)
*** ChibiOS/RT test suite
***
*** Kernel: 3.0.0dev
-*** Compiled: Oct 16 2014 - 18:28:29
+*** Compiled: Oct 16 2014 - 21:17:41
*** Compiler: GCC 4.7.4 20140401 (release) [ARM/embedded-4_7-branch revision 209195]
*** Architecture: ARMv4T
*** Core Variant: ARM7
@@ -128,7 +128,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.8 (Benchmark, round robin context switching)
---- Score : 269800 ctxswc/S
+--- Score : 269804 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
@@ -136,7 +136,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
---- Score : 313756 timers/S
+--- Score : 313690 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
diff --git a/doc/reports/LPC2148-48-THUMB.txt b/doc/reports/LPC2148-48-THUMB.txt
index 3f2641d35..d9109346d 100644
--- a/doc/reports/LPC2148-48-THUMB.txt
+++ b/doc/reports/LPC2148-48-THUMB.txt
@@ -6,7 +6,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states)
*** ChibiOS/RT test suite
***
*** Kernel: 3.0.0dev
-*** Compiled: Oct 14 2014 - 20:01:00
+*** Compiled: Oct 16 2014 - 21:14:50
*** Compiler: GCC 4.7.4 20140401 (release) [ARM/embedded-4_7-branch revision 209195]
*** Architecture: ARMv4T
*** Core Variant: ARM7
@@ -100,51 +100,51 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.1 (Benchmark, messages #1)
---- Score : 109388 msgs/S, 218776 ctxswc/S
+--- Score : 109376 msgs/S, 218752 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, messages #2)
---- Score : 89686 msgs/S, 179372 ctxswc/S
+--- Score : 89678 msgs/S, 179356 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, messages #3)
---- Score : 89686 msgs/S, 179372 ctxswc/S
+--- Score : 89678 msgs/S, 179356 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.4 (Benchmark, context switch)
---- Score : 425400 ctxswc/S
+--- Score : 425336 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.5 (Benchmark, threads, full cycle)
---- Score : 68980 threads/S
+--- Score : 67417 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.6 (Benchmark, threads, create only)
---- Score : 107183 threads/S
+--- Score : 103460 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
---- Score : 29167 reschedules/S, 175002 ctxswc/S
+--- Score : 29164 reschedules/S, 174984 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.8 (Benchmark, round robin context switching)
---- Score : 211760 ctxswc/S
+--- Score : 211728 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
---- Score : 264300 bytes/S
+--- Score : 264276 bytes/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
---- Score : 306574 timers/S
+--- Score : 306538 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
---- Score : 340856 wait+signal/S
+--- Score : 340820 wait+signal/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
---- Score : 247372 lock+unlock/S
+--- Score : 247348 lock+unlock/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.13 (Benchmark, RAM footprint)
diff --git a/os/rt/ports/ARM/compilers/GCC/chcoreasm.s b/os/rt/ports/ARM/compilers/GCC/chcoreasm.s
index 751598084..f39b2dfed 100644
--- a/os/rt/ports/ARM/compilers/GCC/chcoreasm.s
+++ b/os/rt/ports/ARM/compilers/GCC/chcoreasm.s
@@ -181,7 +181,7 @@ _irq_ret_arm:
bx r1
.code 16
ldr r1, =(_irq_ret_thumb+1) // ISR return point.
- mov lr,r1
+ mov lr, r1
bx r0 // Calling the ISR.
.balign 4
_irq_ret_thumb:
@@ -255,17 +255,23 @@ _port_thread_start:
bl _dbg_check_unlock
#endif
bl _port_unlock_thumb
+ mov r0, r5
+ bl _bxr4
+ bl chThdExit
+_zombies: b _zombies
+_bxr4: bx r4
+
#else /* !defined(THUMB_NO_INTERWORKING) */
#if CH_DBG_SYSTEM_STATE_CHECK
bl _dbg_check_unlock
#endif
msr CPSR_c, #MODE_SYS
-#endif /* !defined(THUMB_NO_INTERWORKING) */
mov r0, r5
mov lr, pc
bx r4
bl chThdExit
_zombies: b _zombies
+#endif /* !defined(THUMB_NO_INTERWORKING) */
#endif /* !defined(__DOXYGEN__) */