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.

TMS320F28375D: non-field types boundary

Part Number: TMS320F28375D

Hi,

Let me clarify about the description in C28 compiler document.

http://www.ti.com/lit/ug/spru514r/spru514r.pdf

There is a sentence as "all non-field types are aligned on word boundaries.".
Does the "word" mean 16 bits?

Regards,

  • Yoshita said:
    There is a sentence as "all non-field types are aligned on word boundaries.".
    Does the "word" mean 16 bits?

    Yes.  But this sentence is still misleading.  All non-field types are aligned as required by that type.  For instance, int is aligned on word boundaries, and long is aligned on 2-word boundaries.  I filed CODEGEN-5739 in the SDOWP system to have this error corrected.  You are welcome to follow it with the SDOWP link below in my signature.

    Thanks and regards,

    -George

  • Hi George,

    Thanks for your clarification.

    "int is aligned on word boundaries, and long is aligned on 2-word boundaries."

    Customer wants to know that in what document file the description can be seen.

    Regards,
  • Hi Geroge,

    Customer really wants to know the 64-bits data (long long etc.) case.
    How much word will be needed in case of 64-bits data? 4-word aligned?


    "All non-field types are aligned as required by that type."
    What corrected descriptions do you expect? Like the followings?
    - short (16-bits data) is aligned on 1-word
    - long (32-bits data) is aligned on 2-word
    - long long (64-bits data) is aligned on 4?-word


    Regards,
  • All the alignment requirements in this post are stated in the number of 16-bit words.

    A general way to state alignment: All 16-bit types have alignment 1.  All larger types have alignment 2.

    Expressed as a table ...

    Type Alignment
    char 1
    short 1
    int 1
    long 2
    long long 2
    float 2
    double 2
    long double 2
    pointers 2

    This information will be added to the C28x compiler manual.

    Thanks and regards,

    -George