S32DS_power gcc lib issue

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

S32DS_power gcc lib issue

1,221 次查看
b51447
NXP Employee
NXP Employee

I use the S32DS_power v1.1 and v1.2 to new a project of MPC5606B. However, there are different in the .map files. The v1.2 project add the libgcc, crtbegin, crtend etc. library in the .text and .init file, while the v1.1 project does not have it.

Could you please help to explain this issue? Customer concerns that it will increase the size of the .init and .text sections. And it is the black box for customer.

Original Attachment has been moved to: MPC5606B_TEST_V1.2.zip

Original Attachment has been moved to: MPC5606B_TEST_V1.1.zip

Original Attachment has been moved to: MPC5606B_TEST_V1.2.map.zip

Original Attachment has been moved to: MPC5606B_TEST_V1.1.map.zip

标签 (1)
0 项奖励
回复
2 回复数

935 次查看
stanish
NXP Employee
NXP Employee

Hello,

S32DS power v1.2 includes the new version of gcc which is now fully EABI compliant (in contrast to previous versions).

HOWTO: Migrate project created in S32DS Power v1.x into v1.2+ 

There are new mandatory linker sections required which are btw. also present  in GCC version for ARM.

If these sections and related initialization routines are missing it basically causes some EABI compliance issues:

Constructors of Global Variables Are Not Being Called 

newlib and standard c++ library 

Therefore an extra code to preform global object initialization (e.g. Constructor/Destructor init) which applies to both C and C++ project has been added. This is a static code size that doesn't grow with the project.

Several sections are just placeholders for C++ projects and has zero size for C project (.fini_array, init_array ... sections) so you don't have to worry about the code size.

Hope it  helps

Stan

0 项奖励
回复

935 次查看
b51447
NXP Employee
NXP Employee

Hi, Stanislav,

Thanks for your reply. It is very useful for us.

Could you please help to explain each of the crtbegin, crtend, libgcc, ecrti, ecrtn files used for? Or any document for us to study?

Customer also have a question that if they can put the static code together in the end of the code?If yes, How to do it?

Thank you,

Best Regards,

Remi

0 项奖励
回复