Skip to main content

GUI description

The top area of the QSPI Configurator is used for configuring memories; the read-only area below it displays information about the selected memory part number.

../figures/image4.png

Menus

The QSPI Configurator contains the following menus.

File

  • New - Creates a new Configuration file.

  • Open… - Opens and loads an existing Configuration file, in either the current . cyqspi format or the obsolete . cysmif format.

  • Save - Saves changes to the . cyqspi file. If a file has not been opened or is not in the . cyqspi format, the Save file dialog will open.

  • Save As… - Saves changes to a new file.

  • Open in System Explorer - This opens your computer’s file explorer tool to the folder that contains the Configuration file.

  • Import… - Imports a specified configuration file.

  • Export… - Exports the current configuration file into a specified file.

  • *New .cymem File… – Creates a new memory file with default parameters. See Create new memory file .

  • *Open .cymem File… – Opens an existing memory file.

  • Recent Files - Shows up to five recent files that you can open directly.

  • Exit - Closes the configurator.

Edit

  • Undo - Undoes the last action or sequence of actions.

  • Redo - Redoes the last undone action or sequence of undone actions.

Settings

  • Use Memory Folder… - Opens a dialog to set the default path for the memory file to be saved.

  • ModusToolbox™ Settings - This opens the Settings tool, an editor that allows you to configure a wide range of settings for your environment, such as proxy settings, content modes, and manifest DB settings. See the Settings tool user guide for more details on specific features.

View

  • Notice List - Shows/hides the Notice List pane, which contains any errors, warnings, tasks, and information notes. See the Device Configurator user guide for more details.

  • Toolbar - Shows/hides the Toolbar.

  • Reset View - Restores the Notice List and Toolbar to the default state.

Help

  • View Help - Opens this document.

  • About QSPI Configurator - Open the About box for version information, with links to open https://www.infineon.com and the current session log file.

Toolbar

The toolbar contains a few of the same commands included on the File and Edit menus.

../figures/image9.png

Target Device Family

This pull-down menu shows the selected MPN for which the memory settings apply.

Flashloader Directory

A flashloader is an ELF file containing the algorithms and data structures required for flash memory programming. The QSPI Configurator can patch flashloaders so that their data structures contain data about the external flash memory that will be connected to your design, as well as how the memory is configured. The patched files are placed in the GeneratedSource directory alongside the source code and header files generated by the QSPI Configurator.

To enable flashloader patching, select the Flashloader Directory check box and use the [] button to find and select the appropriate directory (or type the directory location in the text field). When you enable the Flashloader Directory check box, the following fields also become active to set appropriate chunk sizes:

  • Program Chuck Size
  • Erase Chunk Size

These settings allow you to control the granularity of the operations done while programming the flash memory. Larger values allow for more efficient data transfer, while smaller values can use memory more efficiently. When a memory slot is configured for Auto detect SFDP, the QSPI Configurator cannot know what values are legal, so ensure that these values are at least as large as the largest size of the program/erase operations of all the memories in use. Also, neither value can be larger than the smallest memory in use.

note

You can also run qspi-configurator or qspi-configurator-cli via the command line using the --flashloader-dir option. If so, the next argument must be the directory path containing the flashloader(s) to patch. If you provide this argument on the command line, the flashloader directory cannot be changed in the GUI.

Patched flashloaders

The QSPI Configurator stores files for patched flashloaders in the application directory. For Eclipse and VS Code, these files are handled automatically .

When exporting such applications to Keil µVision or IAR EWARM, these patched flashloader files must be copied into the appropriate 3rd party IDE directory. Refer to the Keil µVision for ModusToolbox™ user guide or the IAR Embedded Workbench with ModusToolbox™ user guide as applicable when exporting these applications.

QSPI configuration fields

The top part of the QSPI Configurator contains the following parameters:

ParameterDescription
QSPI InstanceThis field displays when the selected device in the Target Device Family field has more than one instance. It is not editable, and it shows to which instance a given row of the table refers.
Slave SlotSpecifies the slave slot being configured. This number corresponds to the slave select line that will be connected to the memory device.
Memory Part NumberDevice part number represents the memory device that is being interfaced to the corresponding slave slot. You can select a memory device from the list, or select the option to auto detect the device. Based on the memory device selected, the corresponding *.cymem file is linked into the slave slot.
ConfigurationFor certain Memory Part Numbers, there is additional configuration information, such as 3-byte or 4-byte Addressing Mode.
Data SelectAllows you to select the data line options for the corresponding memory slot.
Memory MappedWhen this option is enabled, the configured memory device is mapped to the PSOC™ MCU's memory map. If disabled, access to memory must be done through the QSPI API.
Pair with SlotDetermines the paired slot for dual Quad operation.
Start AddressDetermines the starting address where the memory device is going to be mapped in the PSOC™ memory map.
SizeDetermines size in bytes of the memory device to be mapped in the PSOC™ memory map.
End AddressRepresents the end address of the memory device as mapped in the PSOC™ MCU's memory map. This is a read-only field that is calculated automatically from "Start Address" and "Size" cells values.
Write EnableThis lets you enable or disable writes to the external memory in a memory mapped mode of operation.
Config Data in FlashDetermines whether a specific memory slot’s config structures are to be placed in Flash or SRAM. When chosen to be placed in SRAM, the support for the programmer is not provided. Refer to AN228740 – Usage of Quad SPI (QSPI) Serial Memory Interface (SMIF) in PSOC™ 6).
EncryptDetermines whether to treat the memory device in the corresponding slave slot as an encrypted device. If the memory is mapped, all access to this memory will be decrypted on-the-fly. Setting this field does expect that the right encryption key is loaded as a part of the secure image.
Merge XIP TransactionsSpecifies how many cycles can pass between memory accesses while still skipping the overhead of re-sending the read command. For CAT1A (PSOC™ 6) devices, this field must be Disabled.

Edit memory file fields

The Edit Memory dialog contains the following fields. These fields also display as read-only in the lower part of the QSPI Configurator.

FieldDescription
LocationThe path and file name of the current memory file.
Memory Part NumberThis is the name of the memory chip for which this configuration file is designed. This field will be displayed in the main QSPI Configurator window in the Memory Part Number drop-down menu.
HyperBus DeviceAllows you to specify HyperBus device configuration instead of the default QSPI configuration. When checked, the following tabs are hidden: General, Commands, and Hybrid Erase Sectors. When not checked, the HyperBus tab is hidden.
When a HyperBus device appears in a slot, the HyperBus tab is automatically selected.
Device parameters are spread between four tabs: General, Commands, Hybrid Erase Sectors, and HyperBus.
ConfigurationSome memory parts can be configured in more than one way, and each configuration is contained in a separate memory file. When creating more than one memory file for a part, use this field to describe how this file differs from the others. For example, "3-byte Addressing Mode" or "Hybrid Sectors at Bottom".
Configuration Is DefaultFor memory parts with more than one configuration, this check box specifies whether this configuration is the one that should be automatically selected when this memory part is chosen in the Memory Part Number drop-down menu.
DescriptionBlank field to type a description for the memory.

General tab

FieldDescription
Registers
Status Register Busy (WIP) MaskMask for the busy bit in the status register.
Status Register Quad Enable (QE) MaskMask for the quad enable bit in the status register.
Status Register Octal Enable (OE) MaskMask for the octal enable bit in the status register.
Octal Enable (OE) Register AddressThe address to use when Read Any Register / Write Any Register commands must be used to access the octal enable register.
Sizes
Size of Memory (bytes)Denotes the actual size of the memory device.
Program Page Size (bytes)Denotes the page size for a program operation.
This size provides the granularity with which program operations can be committed in the memory device.
Erase Block Size (bytes)Provides the erase block size.
Number of Address Bytes for SPI TransactionsSets the number of bytes that are expected for the address field in the QSPI transaction.
Timings
Max Erase TimeTime the device typically takes to erase a Erase Type 1 size. You must poll the device's busy status to determine whether the operation has completed. This field has no meaning if the corresponding Erase Type size is 00h.
Max Chip Erase TimeTypical time to erase one chip (die). You must poll the device's busy status to determine whether the operation has completed. For a device consisting of multiple dies that are individually accessed, the time is for each die to which a chip erase command is applied.
Max Program Time (µs)Typical time the device takes to write a full page. You must poll the device's busy status to determine whether the operation has completed. You may scale this by half or a quarter to determine approximate times for half and quarter page program operations.
Frequency of OperationsThe frequency that the memory runs at in this configuration.
Latency Cycles
MaskMask for the latency cycles bit or bits in the status register.
Register AddressThe address to use when Read Any Register / Write Any Register commands must be used to access the latency cycles register.
Octal DDR Enable Sequence
Command Sequence 1Specify first Octal DDR Enable Sequence.
Command Sequence 2Specify second Octal DDR Enable Sequence.

Commands tab

The Commands table tabs – Single SPI, Dual SPI, Quad SPI, Octal SPI – show the SPI data widths supported by the selected memory.

FieldDescription
DescriptionList of commands:
- Read - Write Enable - Write Disable - Erase Command - Chip Erase - Program - Read QE Register - Read WIP Register - Write QE Register - Read OE Register - Write OE Register - Read Latency - Write Latency
NumberByte command word.
Command WidthWidth of the command transfer.
Command RateDetermines whether the command byte should be sent in Single Data Rate (SDR) or Double Data Rate (DDR) mode. CAT1A (PSoC™ 6) devices only support SDR.
Address WidthWidth of the address transfer.
Address RateDetermines whether the address bytes should be sent in SDR or DDR mode. CAT1A (PSoC™ 6) devices only support SDR.
ModeProvides the mode word for the command.
Mode WidthProvides the width of the mode word transfer.
Mode RateDetermines whether the mode byte should be sent in SDR or DDR mode. CAT1A (PSoC™ 6) devices only support SDR.
Dummy CyclesProvides the number of dummy cycles in the transfer.
Data WidthProvides the width of data bytes in the transfer.
Data RateDetermines whether the data bytes should be sent in SDR or DDR mode. CAT1A (PSoC™ 6) devices only support SDR.

Hybrid Erase Sectors tab

FieldDescription
Hybrid Erase SectorsThis check box specifies whether sectors of different sizes are present in this configuration. The table below contains details about those sectors. If this check box is not enabled, then there are no sectors with different sizes, and none of the other fields are active.
Row ButtonsUse these buttons to add and delete rows, as well as move rows up and down.
Region TableThis table contains information about the various erase sector regions:
- The Region Start column specifies the start of the erase sector region.
- The Sector Count column specifies how many erase sectors this region contains.
- The Sector Size column specifies the size of the erase sectors in this region.
- The Erase Command column specifies what command should be used to erase sectors in this region.
- The Erase Time column specifies the maximum time that it can take to erase a sector in this region.

HyperBus Device tab

FieldDescription
Device TypeSpecifies type of HyperBus device. Could be Flash or SRAM.
Size of Memory (bytes)
Latency ClocksSpecifies value of dummy cycles for HyperBus device.
XIP Write CommandSpecifies write command for HyperBus device. Could be Wrapped or Continuous.
XIP Read CommandSpecifies read command for HyperBus device. Could be Wrapped or Continuous.
caution

Support for Hyperbus RAM (such as the S70KS1282) has been added to the QSPI Configurator for TRAVEO™ T2G and XMC7000 devices. However, if a Hyperbus flash (such as the S26KL128S) is selected in one of the memory slots, flashloader patching will fail. To avoid this, either deselect Hyperbus Flash or disable flashloader patching.