7. External Flash

7.1 Introduction

XStream (XS) and XStream Pro (X2S) programmers offers enhanced capabilities with External Flash EF programming. Multiple memory vendors are supported. It is possible to program multiple EF’s at once directly form Elprotronic programmer or via MCU proxy.

Picture 7.1 MCU internal flash programming alongside EF external flash programming (via MCU proxy).

Picture 7.2 Hardware connection example of X2S: ST MCU+2x Micron EF’s (STM32H7A3ZI + 2xMT25QL128) in Double Quad configuration of OCTOSPI peripheral. External flashes will be time-efficiently programmed via MCU proxy in one procedure alongside MCU internal flash programming. FlashProARM software is used.

Picture 7.3 Hardware connection example of X2S: 6x(ST MCU + 2x Winbond EF’s) each (6xSTM32L562ZE + 12xW25R64JV) in Double Quad configuration of OCTOSPI peripheral. External flashes will be cost-effective and time-efficiently programmed via MCU proxy alongside MCU internal flash programming. GangProARM software is used.

Picture 7.4 EF only programming, directly from XS / X2S programmer.

Picture 7.5 Hardware connection example of X2S: EF directly connected (Micron MT25QU128) in Single mode SPI configuration. FlashProM software is used.

7.2 MCU + EF configuration

MCU could act as programming proxy for External Flash. EF configuration window enables external memory vendor, family and type selection.

Picture 7.6 FlashProARM EF configuration window.

Picture 7.7 GangProARM EF configuration window.

Proper communication between MCU and EF is provided via multiple SPI interface. EF could be wired to any avaiable MCU pins in all possible configurations. Dual flash configuration is supported, as well as more than single multiple SPI peripheral. To make things work, proper GPIO pins must be selected, as well as interface speed and communication size (SPI in single/double/quad/double-quad mode). Configuration example is shown on picture 7.8.

Picture 7.8 External Flash configuration: Codefile start address, GPIO pins, interface speed and mode.

7.2.1 Uniform addressing

External Flash codefile could be programmed in one Autoprogram procedure alongside MCU Codefile. EF Codefile could posess separate address domain called “Uniform Address Space“. As shown on example picture 7.8 EF Codefile will be read starting from address 0x0, whilst MCU internal flash Codefile will be read starting from address 0x08000000 (example MCU STM32H725ZG with EF W25R64JV). This functionality enable easy separation for MCU internal flash code and EF external flash code.

7.2.2 Custom EF Codefilename extension for EF Code start addres

External Flash code could be read from custom Codefilename. This particular file will be analyzed starting from “Code Base Address“ value, specific for that EF Codefile. For simplicity EF Codefile could possess custom name extension placed anywhere in Codefilename. All filenames extension shown on picture 7.9 are valid, as for example “1024kiB_0x00000000_ef_flash.txt“, “1024kiB_ef_flash_0x00000000.txt“, “_ef_flash1024kiB_0x00000000.txt“. Custom Codefilename extension enhances “Uniform addressing” functionality for additional analysis start address.

Picture 7.9 Custom EF Codefilename extension and corresponding code analysis start address.

7.2.3 MCU + EF combined Codefile

MCU internal flash Codefile could be appended for additional information that is intended for External Flash memory. As a result single, combined code is generated, which will be programmed in both devices. MCU programming functions will be executed, then EF functions will be executed. All necessary procedures are based on custom fine-tuned MCU Elprotronic-firmwares. There is no limit for Codefile size, external flash memory size, nor programming quantity. More than single Codefile could be appended.

Picture 7.10 MCU Codefile selection.

Picture 7.11 EF Codefile appending for single combined Code utilization.

7.3 Direct EF-only programming

FlashProM software enables XS or X2S programmers direct programming of external memories. Only Single mode SPI is supported, allowed clock frequencies are limited to 1-20MHz range (as shown on picture 7.12).

Picture 7.12 Example EF (Winbond W25Q64JV) Single mode SPI clock frequency selection dialog.

7.4 Tutorial videos for EF programming scenarios

There is a set of useful tutorial videos on Elprotronic Youtube channel. As well as they are shortly described in Tutorial movies chapter of User Guide.