/
Which compilers are supported?

Which compilers are supported?

There is no hard restriction on the compilers, but the Toolkit is prepared to work with Microsoft compilers, GNU GCC out of the box.

Data packets sent to the firmware are defined inside structure and use byte packing functions (#pragma pack(1) or __attribute__((packed))).

If your compiler does not support byte packing all packets which are aligned wrong won't work and you will need to modify the Toolkit source.

The table below lists a subset of available compilers and indicates support for the byte packing of structures.

CompilerByte packing supportNote
GNU GCC (gcc)(tick)

__attribute__((packed))

Microsoft Visual C++(tick)

#pragma pack(1)

ARM Compiler (armcc)

(tick)All substructures of a packed structure must be declared using __packed (see Compiler Reference Guide)
CodeWarrior C Compiler(tick)#pragma options align=pack/reset pairs (see Porting GNU C Programs to Freescales CodeWarrior C Compiler)
TI Code Composer Studio - TMS320C28x(error)The packed (struct/union) attribute is NOT available for C5500 or C2000 (see GCC Extensions in TI Compilers)
IAR C/C++ Compiler(tick)

#pragma pack(1)

__packed (arm targets only, see IAR C/C++ Development Guide for ARM Cores)

 

NOTE: Your compiler must provide the ISO C99 header file "stdint.h" (alternatively a user specific implementation) to provide fixed width data types.

Related content

How to port the cifX Toolkit
How to port the cifX Toolkit
Read with this
Are there any host processor restrictions?
Are there any host processor restrictions?
Read with this
Features - NXDRV-TKIT
Features - NXDRV-TKIT
Read with this
cifX/netX Toolkit (NXDRV-TKIT)
cifX/netX Toolkit (NXDRV-TKIT)
Read with this
APP-side Programming, Peripherals
APP-side Programming, Peripherals
Read with this
netX 90 - Design-in guide (Revision 8)
netX 90 - Design-in guide (Revision 8)
Read with this