DSPRelated.com
Forums

#pragma DATA_ALIGN and GIE

Started by astrix6969 June 9, 2005
Using C6711DSK.

Hi,

I am using #pragma DATA_ALIGN directive to align data. But there seems
to be a problem with GIE. For example,
if I use #pragma DATA_ALIGN(ptr, 128), then GIE goes to 0 and all the
interrupts stop working.

On other hand, if I use #pragma DATA_ALIGN(ptr, 128), then there is no
GIE problem.

Could someone give any reason for it?

Thank you.




Strange. I use

#pragma DATA_ALIGN

all the time and haven't ever seen anything like this.

There must be something else going on. The DATA_ALIGN directive is really just a command to the linker to tell it where to place a particular object. It should never affect actual execution. I would check the map files of both builds and see if the align 128 has move the object to somewhere that you don't expect.

- Andrew E. astrix6969 wrote:

>Using C6711DSK.
>
>Hi,
>
>I am using #pragma DATA_ALIGN directive to align data. But there seems
>to be a problem with GIE. For example,
>if I use #pragma DATA_ALIGN(ptr, 128), then GIE goes to 0 and all the
>interrupts stop working.
>
>On other hand, if I use #pragma DATA_ALIGN(ptr, 128), then there is no
>GIE problem.
>
>Could someone give any reason for it?
>
>Thank you. >




I understand the Data align is used for aligning the bytes ie., when specified with a value of 2, aligns the symbol to a long word (32-bit) boundary. No other alignment values are accepted.

Andrew Elder <a...@bigfoot.com> wrote:

Strange. I use

#pragma DATA_ALIGN

all the time and haven't ever seen anything like this.

There must be something else going on. The DATA_ALIGN directive is really just a command to the linker to tell it where to place a particular object. It should never affect actual execution. I would check the map files of both builds and see if the align 128 has move the object to somewhere that you don't expect.

- Andrew E.astrix6969 wrote:

>Using C6711DSK.
>
>Hi,
>
>I am using #pragma DATA_ALIGN directive to align data. But there seems
>to be a problem with GIE. For example,
>if I use #pragma DATA_ALIGN(ptr, 128), then GIE goes to 0 and all the
>interrupts stop working.
>
>On other hand, if I use #pragma DATA_ALIGN(ptr, 128), then there is no
>GIE problem.
>
>Could someone give any reason for it?
>
>Thank you.<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/c6x/

<*> To unsubscribe from this group, send an email to:
c...@yahoogroups.com

<*


Yahoo! Mail
Stay connected, organized, and protected. Take the tour


I don't think this is quite correct.
The alignment is specified in bytes, so a vaule of 4 aligms to a 32-bit word boundary.
Alignments should be a power of 2, i.e. 4,8,16,32,64,128,256,512,.., etc.

- Andrew E.

srini som wrote:
I understand the Data align is used for aligning the bytes ie., when specified with a value of 2, aligns the symbol to a long word (32-bit) boundary. No other alignment values are accepted.

Andrew Elder <a...@bigfoot.com> wrote:

Strange. I use

#pragma DATA_ALIGN

all the time and haven't ever seen anything like this.

There must be something else going on. The DATA_ALIGN directive is really just a command to the linker to tell it where to place a particular object. It should never affect actual execution. I would check the map files of both builds and see if the align 128 has move the object to somewhere that you don't expect.

- Andrew E. astrix6969 wrote:

>Using C6711DSK.
>
>Hi,
>
>I am using #pragma DATA_ALIGN directive to align data. But there
seems
>to be a problem with GIE. For example,
>if I use #pragma DATA_ALIGN(ptr, 128), then GIE goes to 0 and all
the
>interrupts stop working.
>
>On other hand, if I use #pragma DATA_ALIGN(ptr, 128), then there is
no
>GIE problem.
>
>Could someone give any reason for it?
>
>Thank you. >


Yahoo! Mail
Stay connected, organized, and protected. Take the tour

NEW!  You can now post a message or access and search the archives of this group on DSPRelated.com:
http://www.dsprelated.com/groups/c6x/1.php

_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer.  You need to do a "reply all" if you want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

Archives:  http://www.dsprelated.com/groups/c6x/1.php

To Post:  Send an email to c...@yahoogroups.com

Other DSP Related Groups: http://www.dsprelated.com/groups.php