This repository provides an external loader for the STM32L431CCT6 microcontroller interfacing with the Winbond W25Q128 Quad SPI (QSPI) flash memory. It facilitates the creation of .stldr
files for the W25Q128 and other W25QXX series flash memories.
- QSPI External Loader: Enables programming of external QSPI flash memory using STM32CubeProgrammer.
- Configurable for Various Flash Sizes: Supports different W25QXX series chips by adjusting the
MEMORY_FLASH_SIZE
definition inquadspi.h
.
- Hardware: STM32L431CCT6 microcontroller and Winbond W25Q128 (or compatible W25QXX series) QSPI flash memory.
- Software: STM32CubeIDE or another compatible development environment.
git clone https://github.com/alixahedi/STM32L431-W25Q128-QSPI.git
- Launch STM32CubeIDE.
- Navigate to
File
>Open Projects from File System...
. - Select the cloned repository folder.
Modify MEMORY_FLASH_SIZE
in quadspi.h
to match your flash memory size:
#define MEMORY_FLASH_SIZE 0x1000000 // 16MB (128Mbit)
# Inside STM32CubeIDE, click 'Build' or use shortcut Ctrl+B
Locate the generated .stldr
file in the Debug
or Release
folder.
- Open STM32CubeProgrammer.
- Select the generated
.stldr
file. - Program the external QSPI flash memory.
- Ensure correct hardware connections for QSPI communication.
- Refer to the Winbond W25Q128 Datasheet) for specifications.
Contributions are welcome! Fork the repository and submit a pull request.
This project is licensed under the MIT License. See LICENSE
for details.
For questions or suggestions, feel free to reach out via email: 📧 [email protected]



