You are here

Compile error with Eclipse IDE | Cypress Semiconductor

Compile error with Eclipse IDE

Summary: 1 Reply, Latest post by Lumpi6 on 23 Nov 2012 04:39 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
user_173323327's picture
7 posts

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>

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;

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

/* [ ] */

Lumpi6's picture
341 posts


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.

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.



Log in to post new comments.