1 Reply Latest reply on Jul 1, 2019 1:36 AM by DheerajK_81

    PSoC 6 SMIF QSPI customizations

    RiKw_4278376

      I’m using the PSoC 6 BLE Pioneer Kit, and learning to use the SMIF Interface to QSPI. I’ve been studying Device Configurator and from there launching the QSPI Configurator.

       

      There are a couple of things I want to do:

      1. I want to issue a “get JEDEC ID” (opcode 0x9F).  But when I look at the QSPI Config, I do not see a command and opcode for it.  Q: How do I add a QSPI command?
      2. I want to add a second QPSI device; its part number is not in the drop-down list for Memory Part Number. Q: How do I add a new flash device?

       

      Below is a snap of the QPSI Configuration panel that I see.

       

      QPSIConfig.png

        • 1. Re: PSoC 6 SMIF QSPI customizations
          DheerajK_81

          Yes, the configurator only has some generic commands you would normally see in every chip. You can of-course pass your own commands, you just need to use the low level APIs. For example, to read JEDEC ID (opcode 9F) please do the following:

              Cy_SMIF_TransmitCommand( KIT_QSPI_HW,
                                              0x9F, /* RDID (JEDEC) command */
                                              CY_SMIF_WIDTH_SINGLE,
                                              CY_SMIF_CMD_WITHOUT_PARAM , /* Command does not have parameters */
                                              CY_SMIF_CMD_WITHOUT_PARAM ,
                                              CY_SMIF_WIDTH_SINGLE,
                                              CY_SMIF_SLAVE_SELECT_0, /* External memory connected to nSS0 */
                                              0U, /* Do not disable nSS after command transfered */
                                              &KIT_QSPI_context);
          
          
              smifStatus = Cy_SMIF_ReceiveData(KIT_QSPI_HW, rxBuffer,
                                         20U, /* Read 20-byte */
                                         CY_SMIF_WIDTH_SINGLE,
                                         NULL, /* Callback function is not used */
                                         &KIT_QSPI_context);
          
          
              CheckStatus("Reading JEDEC failed", smifStatus);
              PrintArray("Received JEDEC", rxBuffer, 20);
          

           

          Output:

          2.PNG

           

          You can also add a new flash device by File > New *.cymem file in the device configurator. You can find more information on how to go about this in Page#6 of the QSPI Configurator Guide.

           

          Regards,

          Dheeraj

          2 of 2 people found this helpful