LPC54102 SDK

cancel
Showing results for 
Search instead for 
Did you mean: 

LPC54102 SDK

1,089 Views
danielgull
Contributor IV

I am working with IAR Embedded Workbench for ARM version 7.80 and LPC54102. I downloaded the NXP provided SDK_2.2_LPC54102J512.zip from here https://mcuxpresso.nxp.com/en/configuration-settings using the Toolchain / IDE IAR Workbench for ARM with Host OS Windows. In my IAR project I use the NXP proprietary power library devices\LPC54102\iar\iar_lib_power.a. When I compile and link my project with this power library I get linker warnings:

Warning[Lt009]: Inconsistent wchar_t size

            APP_Main.o and 163 other objects have wchar_t size 16 bits

            power_lib.o(iar_lib_power.a) has wchar_t size 32 bits

When I look up this warning on the web I come across this page: http://netstorage.iar.com/SuppDB/Public/UPDINFO/012120/arm/doc/infocenter/iccarm.ENU.html

In EWARM version 7.80 and earlier, the size of wchar_t was 2 bytes wide and the runtime attribute was set accordingly. For EWARM version 8.10, the size of wchar_t was 4 bytes wide but the value of the runtime attribute was not updated. Thus in 8.10 code is generated with 4 byte wide wchar_t but the object file is marked as if wchar_t is 2 bytes wide. In EWARM version 8.11 wchar_t is 4 bytes wide and the runtime attribute is set accordingly.

My questions and request for help: Which IAR Embedded Workbench for ARM version is used to build the SDK's? I assume version 8.11. Can we have the SDK's built with IAR version 8.11 or 7.80 or can there be an additional option to select which IAR version I want to build my SDK with?

Thanks

Daniel Gull

Labels (1)
0 Kudos
3 Replies

382 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Daniel,

The MCUXpresso SDK 2.2.0 was compiled and tested with IAR Embedded Workbench for ARM version 8.11.2. Please take a look to the following document for more information about the warning you are getting:

wchar_t warning when linking with library generated by another toolchain 

Unless your codebase actually uses wchar types (generally unlikely for most embedded application), then you can solve this problem by simply adding the linker flag "-no-wchar-size-warning" to your project.


Hope it helps!

Best Regards,
Carlos Mendoza
Technical Support Engineer

0 Kudos

382 Views
danielgull
Contributor IV

Hi Carlos,

Thanks for the hint. IAR does not accept the proposed linker flag "-no-wchar-size-warning".

Maybe IAR needs a different string to suppress this warning. Do you by any chance know off the bat what this string would be? Or do I need to RTFM? :-)

Another question in this context: Do the power libraries provided by NXP in the SDK's use wchar? How can I be sure that wchar is not used in the power libraries? Does NXP offer this type of statement anywhere, that their power libraries do not use wchar? I feel uncomfortable suppressing this warning if I have no assurance that the power libraries from NXP do not use wchar.

Dani

0 Kudos

382 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Daniel,

 

I'm not sure which flag to use to disable the wchar warning on IAR . The wchar_t may affect some of the power management functions, the functions are declared in fsl_power.h. On the user application side (not libfsl_power_lib.a), there is no impact. You can hex dump the libfsl_power_lib.a, the front most ASCII data are the power management functions.


Hope it helps!

 

Best Regards,
Carlos Mendoza
Technical Support Engineer

0 Kudos