1 Reply Latest reply on Apr 23, 2019 2:43 AM by HemanthR_06

    FX3S Raid1 on Chip USB 3.0 Dongle version 1.0 - FX3S Raid1 Application issue

    ashokonthenet_1545771

      Hi,

       

      I am using Cypress FX3S USB Dongle Rev 1.0 Hardware.

      This has Two SD card connections. one USB 3.0 host connection.

       

      I am using EzUsb Eclipse IDE for building FX3SMassStorage Application,

      When I load this fx3sMassStorage Application to FX3S using Cypress Control center,

      I am getting two FAT Partitions/Drive each 1.8GB, as I am using 4GB SD card on either SD socket.

      When FX3SMassStorage Application is loaded, Only Primary SD card two 1.8GB FAT partitions in detecting ,

      But Secondary 4GB card's two FAT partitions is not mounted or detected in MyComputer.

       

      When I Download the Debug/Release raid1 .img to FX3S using Cypress Control center,

      I am not getting any Mass Storage Drive in My Computer and/or Storage Drives in Computer Management.

      In This I connected two 4GB SD card on both SD card sockets in FX3S.

       

      But Both cards are detecting in Transcend Card Reader.

       

      I am facing this Raid1 Partition or Drive of FX3S is not showing in Windows 7 MyComputer and/or Storages in Computer Management.

       

      But when I load FX3S MassStorage Application first and then do button reset on FX3S and Load FX3S Raid1 Application using cy control center,

      I am getting one 1.8GB FAT Partition in My computer, But another 1.8GB Raid1 FAT partition is not detecting.

       

      I am using below

      Application: https://www.cypress.com/file/124466/download

      AN89661 USB RAID 1 Disk Design Using EZ-USB FX3S.zip

       

      Thanks & Regards

      Ashok

        • 1. Re: FX3S Raid1 on Chip USB 3.0 Dongle version 1.0 - FX3S Raid1 Application issue
          HemanthR_06

          Hi Ashok,

           

          When you use RAID Dongle hardware to test FX3SMassStorage application, then please make the following changes:

           

          1. Change the intfParams.voltageSwGpio of first S port to 12 and the other to 13.

          2. If your card has one partition then, you need to change the macro CY_FX_SIB_PARTITIONS to 1.

          2. Before intfParams and after GpioInit add the following code:

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

          gpio = 14;

          status = CyU3PDeviceGpioOverride (gpio, CyTrue);

          if (status != 0)

          {

          /* Error Handling */

          CyU3PDebugPrint (4, "CyU3PDeviceGpioOverride failed, error code = %d\n",

          status);

          CyFxAppErrorHandler(status);

          }

           

          /* Configure GPIO as output */

          gpioConfig.outValue = CyTrue;

          gpioConfig.driveLowEn = CyTrue;

          gpioConfig.driveHighEn = CyTrue;

          gpioConfig.inputEn = CyFalse;

          gpioConfig.intrMode = CY_U3P_GPIO_NO_INTR;

          status = CyU3PGpioSetSimpleConfig(gpio, &gpioConfig);

          if (status != CY_U3P_SUCCESS)

          {

          /* Error handling */

          CyU3PDebugPrint (4, "CyU3PGpioSetSimpleConfig failed, error code = %d\n",

          status);

          CyFxAppErrorHandler(status);

          }

           

          gpio = 15;

          status = CyU3PDeviceGpioOverride (gpio, CyTrue);

          if (status != 0)

          {

          /* Error Handling */

          CyU3PDebugPrint (4, "CyU3PDeviceGpioOverride failed, error code = %d\n",

          status);

          CyFxAppErrorHandler(status);

          }

          status = CyU3PGpioSetSimpleConfig(gpio, &gpioConfig);

          if (status != CY_U3P_SUCCESS)

          {

          /* Error handling */

          CyU3PDebugPrint (4, "CyU3PGpioSetSimpleConfig failed, error code = %d\n",

          status);

          CyFxAppErrorHandler(status);

          }

           

          gpio = 12;

          status = CyU3PDeviceGpioOverride (gpio, CyTrue);

          if (status != 0)

          {

          /* Error Handling */

          CyU3PDebugPrint (4, "CyU3PDeviceGpioOverride failed, error code = %d\n",

          status);

          CyFxAppErrorHandler(status);

          }

          gpioConfig.outValue = CyTrue;

          status = CyU3PGpioSetSimpleConfig(gpio, &gpioConfig);

          if (status != CY_U3P_SUCCESS)

          {

          /* Error handling */

          CyU3PDebugPrint (4, "CyU3PGpioSetSimpleConfig failed, error code = %d\n",

          status);

          CyFxAppErrorHandler(status);

          }

           

           

          gpio = 13;

          status = CyU3PDeviceGpioOverride (gpio, CyTrue);

          if (status != 0)

          {

          /* Error Handling */

          CyU3PDebugPrint (4, "CyU3PDeviceGpioOverride failed, error code = %d\n",

          status);

          CyFxAppErrorHandler(status);

          }

          gpioConfig.outValue = CyTrue;

          status = CyU3PGpioSetSimpleConfig(gpio, &gpioConfig);

          if (status != CY_U3P_SUCCESS)

          {

                  /* Error handling */

                  CyU3PDebugPrint (4, "CyU3PGpioSetSimpleConfig failed, error code = %d\n",

                  status);

                  CyFxAppErrorHandler(status);

          }

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

          3. Regarding the RAID1 application note firmware: Kindly format both the cards with only one partition in each card and then load the application note firmware. Then it is expected that you see one card coming up.

           

          Regards,

          Hemanth