Skip to main content
Explorer
April 20, 2025
Question

Problem STM32H743IIT QSPI with W25Q128J and External Loader

  • April 20, 2025
  • 1 reply
  • 387 views

Hey,

 

I have a STM32H743IIT Board with an QSPI W25Q128J Flash, i use LTDC and LVGL.

I want to store my pictures in the Flash Memory, but i have some Problems with the External Loader or the Mapping, or something.

The Flash workes fine, when i Write a buffer and Read a Buffer from the Program itself.
I'am a little confused, in the reference guide from the STM32H743IIT, is the Bank 1 located at 0x60000000, but in some examples, are the address 0x90000000 used.

I tried with the CubeProgrammer and the Loader "M29W128GL_STM32H743I-EVAL", here is the Pagesize 0x10, and Startaddress 0x60000000, with these can i erase the complete external memory without errors, but the Pagesize of the W25Q128J is 0x100 (256) ....

Download from STMCubeIDE don't work, i get the Error:

[224.387] spawnCubeProgrammer(): 19:46:26:421 w ap 0 @0x24033710 : 0x0002D690 bytes, Data 0xFFFFFFFF...
[224.387] spawnCubeProgrammer(): 19:46:26:421 W B2 in RAM @0x24042E80 size 0x0002D690: 1247ms
[224.387] spawnCubeProgrammer(): 19:46:56:000 Wait W B1 in Flash @0x60000000 size 0x0002D690: 29579ms
[224.387] spawnCubeProgrammer(): 19:47:56:000 Write elapsed time: 91993ms
[224.387] spawnCubeProgrammer(): 19:47:56:000 
[224.387] spawnCubeProgrammer(): 
[224.387] spawnCubeProgrammer(): 19:47:56:000 Error: failed to download Sector[0]
[224.387] spawnCubeProgrammer(): 19:47:56:000 Error: failed to download the File

my .FLASH:

MEMORY
{
 FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 2048K
 QSPI (r) : ORIGIN = 0x60000000, LENGTH = 16M
 AREA1 (rx)	 : ORIGIN = 0x081E0000, LENGTH = 128K
 DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
 RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K
 RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K
 RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K
 ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
}

 

my test file to upload is ca 32 kb...:

const __attribute__((section(".extFlash"))) uint8_t img_logo_map[] = {
0x1a,0x17,0x15,0xff,0x1a,0x17,0x15,0xff,0x1a,0x17,0x15,0xff,0x1a,0x17,0x15,0xff,0x1a,0x17 .......};

Is there a W25Q128J Loader for the STM32H743 with QSPI ?

    This topic has been closed for replies.

    1 reply

    Graduate II
    April 21, 2025

    >>I'am a little confused, in the reference guide from the STM32H743IIT, is the Bank 1 located at 0x60000000, but in some examples, are the address 0x90000000 used.

    Yeah, 0x60000000 is FMC Bank 1 for Parallel NOR Flash, the QSPI NOR FLASH will be at 0x90000000. Perhaps you can show the RM page/diagram you're talking about..

    >>Is there a W25Q128J Loader for the STM32H743 with QSPI ?

    Got all sorts of parts and pin configurations

    https://github.com/cturvey/stm32extldr/tree/main/h7_w25q128

    SanyAuthor
    Explorer
    April 21, 2025

    > Yeah, 0x60000000 is FMC Bank 1 for Parallel NOR Flash, the QSPI NOR FLASH will be at 0x90000000. Perhaps you can show the RM page/diagram you're talking about..

    ah okay, i looked in the fmc table, but i am blind to find the right page?

    > Got all sorts of parts and pin configurations

    No, my configuration (PB2, PB10, PF6, PF7, PF8, PF9) is not available..