support of unaligned data access
Company  
ST Home | Microcontrollers

Index  »  ARM Cortex-M3 STM32  »  support of unaligned data access
     
   support of unaligned data access
 Moderated by :   »  STOne-32

Author
beginning argument    ( Replies received: 4 )
loeffel   Posted 07-01-2009 at 12:35   



Registered on :
12-17-2010

Messages : 8

 OFF-Line

Hi

Are there any C compiler which supports the unaligned data access of the Cortex-M3 core? Right now I am using the Keil RVMDK. It seems that I have to use the __packed keyword for each variable, structure... to get unaligned data access but how do I get unaligned data access for a entire project? Are there better solutions than using the __packed keyword?



 Profile   Quote  
joseph.yiu   Posted 07-01-2009 at 18:53   



Registered on :
11-20-2010

Messages : 74

 OFF-Line

Hi there,
Why do you want unaligned data to be supported on all variables?
If the data elements in data structures are arranged carefully, you won't be wasting memory space anyway.
Joseph



 Profile   Quote  
picguy   Posted 07-01-2009 at 19:36   



Registered on :
02-01-2010

Messages : 97

 OFF-Line

FWIW, LDM/STM do not work unless word aligned. I suspose that its someplace in some doc file. 'Twaz a pain to rewrite to assure aligned load/store multiple.



 Profile   Quote  
sjo   Posted 07-01-2009 at 22:40   



Registered on :
09-16-2002

From UK

Messages : 653

 OFF-Line

From the armv7 docs:

The following data accesses always generate an alignment fault:
• Non halfword-aligned LDREXH and STREXH
• Non word-aligned LDREX and STREX
• Non word-aligned LDRD, LDM{IA}, LDMDB, POP, and LDC
• Non word-aligned STRD, STM{IA}, STMDB, PUSH, and STC.
The following data accesses support unaligned addressing, and only generate alignment faults when the
CCR.UNALIGN_TRP bit is set (see The System Control Block (SCB) on page B2-7):
• Non halfword-aligned LDRH, LDRHT, LDRSH, LDRSHT, STRH and STRHT
• Non halfword-aligned TBH
• Non word-aligned LDR{T} and STR{T}.

Cheers
Spen



 Profile   www   Quote  
loeffel   Posted 09-01-2009 at 08:10   



Registered on :
12-17-2010

Messages : 8

 OFF-Line

Hi

Thanks for the feedbacks. Additional information about this topic could be found at the cross-post on the Keil forum.

http://www.keil.com/forum/docs/thread13940.asp#msg69667

Regards



 Profile   Quote  
On Top

Search in the forums
 
Jump To