S32DS PPC Compiler/ Linker manual available?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32DS PPC Compiler/ Linker manual available?

1,272 Views
uditsalunke
Contributor III

hello,

S32DS PPC Compiler and Linker manual available? from release notes I see its based on GCC v4.9.2.

Could anyone please share these document or help to get it?

My intention to have this document is optimise my code for portability. for that I want to add compiler abstraction to my code.  Also want to customise my application executable - want linker manual / documentation.

Thanks

Udit  

Labels (1)
Tags (3)
0 Kudos
1 Reply

887 Views
stanish
NXP Employee
NXP Employee

Hi Udit,

Indeed S32DS for Power is based on GCC tool chain (v4.9.x). The offline documentation is available here:

"<S32DS_Power...>\Cross_Tools\powerpc-eabivle-4_9\powerpc-eabivle\share\docs\pdf"

"<S32DS_Power...>\Cross_Tools\powerpc-eabivle-4_9\powerpc-eabivle\share\docs\pdf\gcc\"

Some useful information can be found in the gcc release notes:

"<S32DS_Power...>\Cross_Tools\powerpc-eabivle-4_9\releasenotes.pdf"

For improving code portability across different compilers you can inspire from AMMCLIB header files that contains built-in macros to distinguish between different compilers (e.g. see below the snippet from:

 "<S32DS_Power...>\S32DS\AMMCLIB\MPC574xP_AMMCLIB_v1.1.9\include\SWLIBS_Defines.h" )

#if defined(__ghs__)
 #ifndef INLINE
 /*
 * @violates @ref SWLIBS_Defines_h_REF_1 MISRA 2004 Required Rule 19.4, Disallowed definition for 
 * macro. 
 */
 #define INLINE inline
 #endif
#elif defined(__MWERKS__) || defined(__CWCC__)
 #ifndef INLINE
 /*
 * @violates @ref SWLIBS_Defines_h_REF_1 MISRA 2004 Required Rule 19.4, Disallowed definition for 
 * macro. 
 */
 #define INLINE static __inline
 #endif
#elif defined(__DCC__)
 #ifndef INLINE
 /*
 * @violates @ref SWLIBS_Defines_h_REF_1 MISRA 2004 Required Rule 19.4, Disallowed definition for 
 * macro. 
 */
 #define INLINE static __inline__
 #endif
#elif defined(__CSMC__)
 #ifndef INLINE
 /*
 * @violates @ref SWLIBS_Defines_h_REF_1 MISRA 2004 Required Rule 19.4, Disallowed definition for 
 * macro. 
 */
 #define INLINE static @inline
 #endif
#elif defined(__IAR_SYSTEMS_ICC__)
 #ifndef INLINE
 /*
 * @violates @ref SWLIBS_Defines_h_REF_1 MISRA 2004 Required Rule 19.4, Disallowed definition for 
 * macro. 
 */
 #define INLINE static inline
 #endif
#elif defined(__GNUC__) && defined(__PPC_EABI__)
 #ifndef INLINE
 /*
 * @violates @ref SWLIBS_Defines_h_REF_1 MISRA 2004 Required Rule 19.4, Disallowed definition for 
 * macro. 
 */
 #define INLINE static inline
 #endif
#elif defined(__GNUC__)
 #ifndef INLINE
 /*
 * @violates @ref SWLIBS_Defines_h_REF_1 MISRA 2004 Required Rule 19.4, Disallowed definition for 
 * macro. 
 */
 #define INLINE static __inline__
 #endif
#elif defined(_MATLAB_BAM_CREATE)
 #ifndef INLINE
 /*
 * @violates @ref SWLIBS_Defines_h_REF_1 MISRA 2004 Required Rule 19.4, Disallowed definition for 
 * macro.
 */
 #define INLINE static __inline
 #endif
#else
 #ifndef INLINE
 /*
 * @violates @ref SWLIBS_Defines_h_REF_1 MISRA 2004 Required Rule 19.4, Disallowed definition for 
 * macro. 
 */
 #define INLINE static inline
 #endif
#endif‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Hope it helps.

Stan