Error after WinEC December 2013 updates

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

Error after WinEC December 2013 updates

865 Views
SteM
Contributor III

Hi all,

today I updated WinEC700 to December 2013 releases but i'm not able to compile the OS image.

I have the folowing error:

BUILD: [02:0000007214:ERRORE] Error(s) in directory "C:\WINCE700\platform\common\src\soc\COMMON_FSL_V3\SDBUS\". {log="C:\WINCE700\build.log(24065)"}

BUILD: [02:0000007215:ERRORE] c:\wince700\platform\common\src\soc\common_fsl_v3\sdbus\sdbus.cpp(1899) : error C2440: '=' : cannot convert from 'void (__cdecl *)(SD_DEVICE_HANDLE)' to 'PSD_IO_DISCONNECT_INTERRUPT' {log="C:\WINCE700\build.log(24066)"}

The error refers to this line code:

        pFunctions->pSDIODisconnectInterrupt = SDIODisconnectInterrupt__X;

where

PSD_IO_DISCONNECT_INTERRUPT         pSDIODisconnectInterrupt;

and

    // SDIODisconnectInterrupt

    typedef SD_API_STATUS (*PSD_IO_DISCONNECT_INTERRUPT) (SD_DEVICE_HANDLE);

But SDIODisconnectInterrupt__X is defined as

  VOID SDIODisconnectInterrupt__X(SD_DEVICE_HANDLE hDevice)

Of course, there is a different return type.

Anyone have the same problem?

I guess the solution could be change the SDIODisconnectInterrupt__X() prototype, since it is contained in the COMMON_FSL_V3 folder and not in a WinEC common file, is it ??

Labels (2)
2 Replies

635 Views
justin_jiang
NXP Employee
NXP Employee

you can try this pFunctionspFunctions->pSDIODisconnectInterrupt = (PSD_IO_DISCONNECT_INTERRUPT)SDIODisconnectInterrupt__X;

635 Views
SteM
Contributor III

I don't like it, cause they have a different return types, i don't want to have eventually stack misalignments.

I changed the prototype and i returned the 'status' variable (otherwise it is not used, i'm wondering if it is an error ..).

0 Kudos
Reply