Packed structures



I am trying to find a way to define structures as packed. For example, in GNU compiler this defined as:

struct name


int one;

int two;


} attributes("packed");      // dont mind the syntax, it is probably mistaken


The question is there anything similar in CCS compiler for DSP?

Thank You

Arye Lerner

  • No.  Though work is in progress.  Check back in 6-12 months.

    Thanks and regards,



  • In reply to George Mock:

    Well, 6 month have not yet gone by,

    but is there any news about when this feature (packed structs) will be available?


    Thanks a lot,


  • In reply to Jochen:

    The ARM compiler as of version 4.6.1 does support the GCC packed attribute.  There are limitations.  Chief among them is you must build for Cortex-M3.  Check the readme for all the details.

    Work is in progress on other compilers.

    Thanks and regards,



  • In reply to George Mock:

    An update...

    The ARM v4.7.x compilers support packed for all Cortex (M3, R4, A8) devices when --unaligned_access=on (which is the default for Cortex devices).

    The C6x v7.2.x compilers (due out sometime around the end of the year) will support packed.


  • In reply to Paul Knueven:

    Hi Paul,


    I just inherited some code that we want to run on an MSP430. In particular, the code is an E!A485 based communications application which has a large number of data structures which define the packets. As with all communications protocols, this one does not allow padding in the data packets. As far as I can tell, Code Composer Studio support for MSP430 does not include packed data structures, not even the latest release of CSS seems to have this feature.


    The project deadline is 12-17-10, and without packed data structures, we will have to use a different chip (non-TI) or a different IDE for the MSP430, if one exists which has support for the packed data structure. Just so you know, anyone who is concerned about the readability of a communications based application will not use any of the TI parts for that purpose which do not support packed data structures.


    Anyhow, I guess that Im out of luck as far as CCS is concerned - are there any other 3rd party development environments out there which would allow us to use the MSP430 for this communications based project (we don't have the time to re-write the code to get rid of the data structures, and even if we did, that would not be an option for us) ?

    I made the mistake of assuming that CSS's MSP430 C compiler would support packed data structures, as I have never seen a compiler before that did not support them, except for one TI DSP compiler a number of years back, so a fast response to this question would be greatly appreciated as I am holding back progress on this project as a result.




    Don McFarland

    (920) 342-0683

  • In reply to Donald McFarland:


    TI's MSP compiler v4.0 will support the GNU packed attribute for defining and accessing packed data structures.  However it is currently scheduled for release in mid-2011, so will not meet your deadlines.

    The IAR compiler supports packing with the pragma PACK.



  • In reply to Paul Knueven:


    Do you have a schedule for the TMS320C6x C/C++ Compiler as well?

    I just wrote an elegant piece of code without MISRA warnings and didn't remember to pack until it failed in my debug session...


  • In reply to Anders Johansson58793:

    The GCC packed attribute is supported in C6000 Code Generation Tools v7.2.0 due out in 11Q1.  Beta versions may be available as soon as November.