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

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.

QSPI configuration fields

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

Parameter

Description

QSPI Instance

This 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 Slot

Specifies the slave slot being configured. This number corresponds to the slave select line that will be connected to the memory device.

Memory Part Number

Device 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.

Configuration

For certain

Memory Part Numbers

, there is additional configuration information, such as 3-byte or 4-byte Addressing Mode.

Data Select

Allows you to select the data line options for the corresponding memory slot.

Memory Mapped

When 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 Slot

Determines the paired slot for dual Quad operation.

Start Address

Determines the starting address where the memory device is going to be mapped in the PSOC™ memory map.

Size

Determines size in bytes of the memory device to be mapped in the PSOC™ memory map.

End Address

Represents 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 Enable

This lets you enable or disable writes to the external memory in a memory mapped mode of operation.

Config Data in Flash

Determines 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).

Encrypt

Determines 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 Transactions

Specifies 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.

Field

Description

Location

The path and file name of the current memory file.

Memory Part Number

This 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 Device

Allows 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.

Configuration

Some 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 Default

For 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.

Description

Blank field to type a description for the memory.

General tab

Field

Description

Registers

Status Register Busy (WIP) Mask

Mask for the busy bit in the status register.

Status Register Quad Enable (QE) Mask

Mask for the quad enable bit in the status register.

Status Register Octal Enable (OE) Mask

Mask for the octal enable bit in the status register.

Octal Enable (OE) Register Address

The 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 Transactions

Sets the number of bytes that are expected for the address field in the QSPI transaction.

Timings

Max Erase Time

Time 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 Time

Typical 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 Operations

The frequency that the memory runs at in this configuration.

Latency Cycles

Mask

Mask for the latency cycles bit or bits in the status register.

Register Address

The 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 1

Specify first Octal DDR Enable Sequence.

Command Sequence 2

Specify 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.

Field

Description

Description

List 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

Number

Byte command word.

Command Width

Width of the command transfer.

Command Rate

Determines 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 Width

Width of the address transfer.

Address Rate

Determines whether the address bytes should be sent in SDR or DDR mode. CAT1A (PSoC™ 6) devices only support SDR.

Mode

Provides the mode word for the command.

Mode Width

Provides the width of the mode word transfer.

Mode Rate

Determines whether the mode byte should be sent in SDR or DDR mode. CAT1A (PSoC™ 6) devices only support SDR.

Dummy Cycles

Provides the number of dummy cycles in the transfer.

Data Width

Provides the width of data bytes in the transfer.

Data Rate

Determines whether the data bytes should be sent in SDR or DDR mode. CAT1A (PSoC™ 6) devices only support SDR.

Hybrid Erase Sectors tab

Field

Description

Hybrid Erase Sectors

This 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 Buttons

Use these buttons to add and delete rows, as well as move rows up and down.

Region Table

This 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

Field

Description

Device Type

Specifies type of HyperBus device. Could be Flash or SRAM.

Size of Memory (bytes)

Latency Clocks

Specifies value of dummy cycles for HyperBus device.

XIP Write Command

Specifies write command for HyperBus device. Could be Wrapped or Continuous.

XIP Read Command

Specifies read command for HyperBus device. Could be Wrapped or Continuous.

Attention:

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.