1 Reply Latest reply on Nov 23, 2012 4:39 AM by content.librarian

    Compile error with Eclipse IDE

      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);


      /* [ ] */

        • 1. Re: Compile error with Eclipse IDE



          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.