diff options
-rw-r--r-- | demos/LPC21xx/RT-LPC214x-OLIMEX/debug/RT-LPC214x-OLIMEX (OpenOCD, Flash and Run).launch | 2 | ||||
-rw-r--r-- | doc/reports/LPC2148-48-ARM.txt | 4 | ||||
-rw-r--r-- | doc/reports/LPC2148-48-THUMB.txt | 26 | ||||
-rw-r--r-- | os/rt/ports/ARM/compilers/GCC/chcoreasm.s | 10 |
4 files changed, 21 insertions, 21 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 97058e1ee..a1d7c7819 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="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="spsr_und-(format)" val="4"/><content id="lr_abt-(format)" val="4"/><content id="cpsr-(format)" val="4"/><content id="r6-(format)" val="4"/><content id="r4-(format)" val="4"/><content id="r3-(format)" val="4"/><content id="r1-(format)" val="4"/><content id="r0-(format)" val="4"/></contentList>"/>
+<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="r0-(format)" val="4"/><content id="r1-(format)" val="4"/><content id="r3-(format)" val="4"/><content id="r4-(format)" val="4"/><content id="r6-(format)" val="4"/><content id="cpsr-(format)" val="4"/><content id="lr_abt-(format)" val="4"/><content id="spsr_und-(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"/>
diff --git a/doc/reports/LPC2148-48-ARM.txt b/doc/reports/LPC2148-48-ARM.txt index dec331321..282982237 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 - 21:17:41
+*** Compiled: Oct 16 2014 - 21:31:50
*** Compiler: GCC 4.7.4 20140401 (release) [ARM/embedded-4_7-branch revision 209195]
*** Architecture: ARMv4T
*** Core Variant: ARM7
@@ -104,7 +104,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, messages #2)
---- Score : 115237 msgs/S, 230474 ctxswc/S
+--- Score : 115236 msgs/S, 230472 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, messages #3)
diff --git a/doc/reports/LPC2148-48-THUMB.txt b/doc/reports/LPC2148-48-THUMB.txt index d9109346d..f4cba8515 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 16 2014 - 21:14:50
+*** Compiled: Oct 16 2014 - 21:27:55
*** 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 : 109376 msgs/S, 218752 ctxswc/S
+--- Score : 109378 msgs/S, 218756 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, messages #2)
---- Score : 89678 msgs/S, 179356 ctxswc/S
+--- Score : 89679 msgs/S, 179358 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, messages #3)
---- Score : 89678 msgs/S, 179356 ctxswc/S
+--- Score : 89679 msgs/S, 179358 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.4 (Benchmark, context switch)
---- Score : 425336 ctxswc/S
+--- Score : 425368 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.5 (Benchmark, threads, full cycle)
---- Score : 67417 threads/S
+--- Score : 67418 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.6 (Benchmark, threads, create only)
---- Score : 103460 threads/S
+--- Score : 103461 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
---- Score : 29164 reschedules/S, 174984 ctxswc/S
+--- Score : 29165 reschedules/S, 174990 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.8 (Benchmark, round robin context switching)
---- Score : 211728 ctxswc/S
+--- Score : 211740 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
---- Score : 264276 bytes/S
+--- Score : 264280 bytes/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
---- Score : 306538 timers/S
+--- Score : 306552 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
---- Score : 340820 wait+signal/S
+--- Score : 340828 wait+signal/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
---- Score : 247348 lock+unlock/S
+--- Score : 247352 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 f39b2dfed..9f06ca0b5 100644 --- a/os/rt/ports/ARM/compilers/GCC/chcoreasm.s +++ b/os/rt/ports/ARM/compilers/GCC/chcoreasm.s @@ -180,11 +180,7 @@ _irq_ret_arm: add r1, pc, #1
bx r1
.code 16
- ldr r1, =(_irq_ret_thumb+1) // ISR return point.
- mov lr, r1
- bx r0 // Calling the ISR.
- .balign 4
-_irq_ret_thumb:
+ bl _bxr0 // Calling the ISR.
mov lr, pc
bx lr
.code 32
@@ -237,6 +233,10 @@ _irq_ret_thumb: ldmfd sp!, {r0-r3, r12, lr}
msr CPSR_c, #MODE_IRQ | I_BIT
subs pc, lr, #4
+#if defined(THUMB_NO_INTERWORKING)
+ .code 16
+_bxr0: bx r0
+#endif
/*
* Threads trampoline code.
|