Compile error with Eclipse IDE

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

hi! all

   

I´m trying to compile my Examples for GPIO(LEDon/off)

   

but,a compilation error comes....

   

here message

   

----------------------------------------------------------------------------------------------------------------------------------------

   

in file included from C:\Cypress\EZ-USB FX3 SDK\1.2\firmware\u3p_firmware\inc/cyu3system.h:27:0,
                 from ../sdtech.c:47:
C:\Cypress\EZ-USB FX3 SDK\1.2\firmware\u3p_firmware\inc/cyu3dma.h:738:16: error: field 'lock' has incomplete type
C:\Cypress\EZ-USB FX3 SDK\1.2\firmware\u3p_firmware\inc/cyu3dma.h:739:16: error: field 'flags' has incomplete type
C:\Cypress\EZ-USB FX3 SDK\1.2\firmware\u3p_firmware\inc/cyu3dma.h:818:16: error: field 'lock' has incomplete type
C:\Cypress\EZ-USB FX3 SDK\1.2\firmware\u3p_firmware\inc/cyu3dma.h:819:16: error: field 'flags' has incomplete type
cs-make: *** [sdtech.o] Error 1

   

----------------------------------------------------------------------------------------------------------------------------------------

   

Doe get why this error?

   

Note That i'm using SDK1.2 and then the 1.2.1 upgrade.

   

 - default source -

   

#include <cyu3system.h>
#include <cyu3os.h>
#include <cyu3error.h>
#include <cyu3gpio.h>
#include <cyu3uart.h>

   

int
main (void)
{
    CyU3PIoMatrixConfig_t io_cfg;
    CyU3PReturnStatus_t status = CY_U3P_SUCCESS;

   

    /* Initialize the device */
    status = CyU3PDeviceInit (0);
    if (status != CY_U3P_SUCCESS)
    {
        goto handle_fatal_error;
    }

   

    /* Initialize the caches. Enable both Instruction and Data Caches. */
    status = CyU3PDeviceCacheControl (CyTrue, CyTrue, CyTrue);
    if (status != CY_U3P_SUCCESS)
    {
        goto handle_fatal_error;
    }

   

    /* Configure the IO matrix for the device. On the FX3 DVK board,
     * the COM port is connected to the IO(53:56). This means that
     * either DQ32 mode should be selected or lppMode should be set
     * to UART_ONLY. Here we are choosing UART_ONLY configuration. */
    CyU3PMemSet ((uint8_t *)&io_cfg, 0, sizeof(io_cfg));
    io_cfg.isDQ32Bit = CyFalse;
    io_cfg.useUart   = CyTrue;
    io_cfg.useI2C    = CyFalse;
    io_cfg.useI2S    = CyFalse;
    io_cfg.useSpi    = CyFalse;
    io_cfg.lppMode   = CY_U3P_IO_MATRIX_LPP_UART_ONLY;
    io_cfg.gpioSimpleEn[0]  = 0;
    io_cfg.gpioSimpleEn[1]  = 0;
    /* GPIOs 50, 51 and 52 are used as complex GPIO. */
    io_cfg.gpioComplexEn[0] = 0;
    io_cfg.gpioComplexEn[1] = 0x001C0000;
    status = CyU3PDeviceConfigureIOMatrix (&io_cfg);
    if (status != CY_U3P_SUCCESS)
    {
        goto handle_fatal_error;
    }

   

    /* This is a non returnable call for initializing the RTOS kernel */
    CyU3PKernelEntry ();

   

    /* Dummy return to make the compiler happy */
    return 0;

   

handle_fatal_error:
    /* Cannot recover from this error. */
    while (1);
}

   

/* [ ] */
 

0 Likes
1 Reply
Anonymous
Not applicable

Hi,

   

I am not really sure why it fails, but you are using a mix of SDK release versions 1.2 and 1.2.1.

   

I suggest you to uninstall all cypress components of the SDK, then delete all folders of the components you can find in programs, programms(x86) and c:\cypress and then install the latest release files 1.2.1 which you can download from the cypress homepage.

   

http://www.cypress.com/?rID=57990

   

Then delete the <project_name>.sc file in your workspace (.metadata folder) and it should work. You may just try this before re-installing the components.

   

regards,

   

lumpi

0 Likes