public inbox for ecos-devel@sourceware.org
 help / color / mirror / Atom feed
* Minor fix for CortexM vectors.S
@ 2008-11-18 11:42 Chris Holgate
  2008-11-19 16:31 ` Nick Garnett
  0 siblings, 1 reply; 5+ messages in thread
From: Chris Holgate @ 2008-11-18 11:42 UTC (permalink / raw)
  To: ecos-devel

Hi folks,

This is a minor fix that I found while building the ROM based target for
my STM32 board.  The hal_switch_state_vsr can generate invalid
EXC_RETURN values in the link register for certain alignments - the fix
is to ensure that bit 1 is always cleared.  It's also possible to
reclaim a bit of RAM for the interrupt stack:

*** cvs-14.11.08/ecos/packages/hal/cortexm/arch/current/src/vectors.S
2008-11-03 14:53:51.000000000 +0000
---
working-14.11.08/ecos/packages/hal/cortexm/arch/current/src/vectors.S
2008-11-18 11:10:31.000000000 +0000
***************
*** 129,140 ****
--- 129,142 ----
          isb                             // Insert a barrier
          
          msr     psp,sp                  // Copy SP to PSP
+         ldr     sp,=hal_startup_stack   // Reset SP to top of RAM
  
  #if !defined(CYGPKG_KERNEL)
          sub     sp,#(CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE/2)
  #endif        
          
          orr     lr,#0xD                 // Adjust return link
+         bic     lr,#0x2
          bx      lr                      // Return to init code on PSP

Chris.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-11-19 19:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-18 11:42 Minor fix for CortexM vectors.S Chris Holgate
2008-11-19 16:31 ` Nick Garnett
2008-11-19 18:00   ` Chris Holgate
2008-11-19 18:12     ` Nick Garnett
2008-11-19 19:21       ` Chris Holgate

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).