This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CLA CPU ptr differences?

Other Parts Discussed in Thread: CONTROLSUITE

I have some

typedef struct {

     something mydata1;

     somethingelse mydata2;

     etc.

} SomeName;

typedef struct {

...

} SomeName2;

Then I have

typedef struct {

SomeName * var1;

SomeName2 * var2;

} SomeName3;

Now in file1.cla I have

SomeName3 * somePtr;

Now in file2.c I have

SomeName3 * SomeOtherPtr;

now in the file2.c for example I declare a real creation of the3rd struct

SomeName3 RealOccrenceOfStruct;

Through the linker cmd file etc. I place the above variable in LS ram So it's available to both CPU and CLA.

I similarily create the objects it points to in file2.c scope... but place in LS ram so its available to CPU and CLA.

All initialization is done by the CPU in some INIT function in file2.c.

I declare the ptr in file1.cla as external in file2.c

so

extern SomeName3 * somePtr;

in the INIT function in file2.c I set the ptr accessible to the CLA to the actual variable

someOtherPtr = &RealOccurenceOfStruct;

somePtr = someOtherPtr;

now when I try and set the ptrs contained in through somePtr I notice the following:

the var1 and var2 are spaced 2 words apart in the CPU ptr(someOtherPtr), and are spaced 1 word apart in the CLA ptr (somePtr)

so I have issues because the code generated on the CPU side trying to use the somePtr-> places it in the wrong place because of the offset...

So the question is:

Why are two pointers to the same format of structure having different spacing's on the CLA vs CPU?

Do I just need to somehow align them?  if So where do I do this?  Why is it having this default behavior?

Thanks.