This chapter describes Storage device programming configuration options.
For device-specific options refer to:
You can open this dialog via Hardware / <device> / Configure.
Some options are device-specific and you may not be able to see them.
Manufacturer/Device/Name - You can change the Name of the device, that will show in the Hardware drop-down menu.
Parallel - Select x2 to enable parallel programming. Available on (Q)SPI devices only.
Mapped in memory - Enable this option, when your external FLASH or FPGA matrix is memory mapped and specify its address.
Allow mass erase - When this option is checked, mass erase can be performed.
Mass erase can lock the device permanently; therefore use it at your own risk.
Mass erase before download - When this option is checked, a mass erase will be performed before program download. This option should be used if mass erase is a considerably faster operation compared to sequentially erasing the sectors affected by the download.
Program at download (External Flash programming dialog) - When this option is enabled, external flash (or FPGA matrix) is programmed during the debug download in the same manner as internal flash.
Allow download only - If this option is checked, no write operations into the device will be performed by winIDEA after the download completes. Use it to prevent usage of software breakpoints within the device as well as accidental change of the device contents.
Read-only (no modifications) - When this option is enabled, it disables any flash modification. If you try to program something to the read-only flash, a warning is generated in the Progress window, for example "Skipped programming of ST STM32F4xxxG_1024KB because it is set as read-only".
UTEST flash can be locked if some wrong values are programmed. By default winIDEA disables it and it has to be explicitly enabled if you want to program it. When the flash device is disabled, memory write goes directly to the bus (e.g., AXI) and it can causes the bus to hang. The only option to unhang it is to power-cycle the device. Read-only option allows you to have flash enabled, but all writes are prevented so no power-cycle is required in this case.
Program empty cells - If checked, the entire download file is programmed. If unchecked, the sections which contain the flash default value (typically 0xFF) are not programmed. This can speed up programming and might be beneficial to the application. Default state is off.
Verify after program - After programming external flash, the verification will be performed. Settings for internal FLASH available in available in the Startup dialog.
Verify on the fly - If enabled, data is verified during programming.
Options (white rectangle) - Device-specific options, such as allowing specific sectors programming on TriCore 2xxx, are displayed here. Refer to Architecture-specific notes for further explanation.
Use buffer compression - This option can considerably improve performance when programming contents are highly compressible.
Use hash verification - This option can considerably improve verify and programming performance. Device contents are compared based on the symmetric hashing algorithm.
Safe mode - Minimizes the possibility that a specific sector would be incorrectly programmed in case of sudden communication or power loss. Available options:
•Auto - Enabled by default. winIDEA reads and tries to find out if the Safe mode should be Enabled.
•Disable - Normal programming, best performance.
•Enable - winIDEA carefully programs sensitive sectors; for example erases and programmes HSM sensitive sectors one by one and this way ensures that the HSM sector doesn't stay erased because of communication loss between erase and program commands. Note that this option might affect performance.
Maximum Operation Timeout - Amount in seconds to wait for a UMI operation to complete. Some UMI operations like mass erase, may require several minutes to complete. This setting should be chosen large enough to allow the most lengthy operation to complete.
Pre operation - Add an initialization script and execute it before flash operation.
Post operation - Add an initialization script and execute it after flash operation.
Defines a region of special properties within the specific devices, such as code read protection (CRP) area on NXP Cortex-M LPC1xxx devices. Refer to Architecture-specific notes for further explanation.
The Exclusions group allows the specification of ranges which are to be excluded from programming and are only used during FLASH programming and not mass programming. Click Add... to specify write protection area.
If writing to a device requires only a part of the device to be erased, the excluded areas that are erased are reprogrammed with the values they contained prior to the erase operation.
This option will fill the entire device or specified area of the device with preselected value. It is available only on certain devices.
Add files for programming external devices click Add in Download Files area. For eMMc specify the Partitions. Note that if the SoC boots from the SPI flash, the Download File should be bootable, not runnable. If the device uses SPI for the execution, there need to be runnable image inside it.
This section is displayed only for SPI NAND Flash devices.
Enable ECC - ECC calculation can be disabled only when you want to program SPI NAND Flash by using the entire Flash. When the option is enabled, you cannot overwrite ECC data in Spare Bytes. To overwrite ECC data, disable this option.