cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743II W25Q128 Custom External Loader Issues

JJhin.1
Senior II

hello friends!

Now a days i started working on TouchGFX for Waveshare's OpenH7XXI-C board and CoreH7XXI MCU. I interfaced 7 inch display, FMC SDRAM as bank 2 and W25Q128 QSPI. after configuring these peripherals i tested them manually by writing and reading data to them.

After that i made custom external loader (.stld) to load TouchGFX assets into QuadSPI memory. i added this .stld file in CubIDE and when im trying to dump the code im getting follwing errors for External Loader.

xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Running loader function Init(0x0, 0x0, 0x0, 0x0)
Error: failed erasing sectors 0 to 23
Warn : keep_alive() was not invoked in the 1000 ms timelimit. GDB alive packet not sent! (1097 ms). Workaround: increase "set remotetimeout" in GDB
Error: flash_erase returned -902
Info : dropped 'gdb' connection
Info : dropped 'gdb' connection
shutdown command invoked

I have attached my external loaders files.. if anyone knows the issue please help.

 

Thanks!

 

1 ACCEPTED SOLUTION

Accepted Solutions

I could rebuild with current model, but the QSPI memory is at 0x90000000, not 0x00000000

These were built for STM32 Cube Programmer

Refreshed with current build

https://github.com/cturvey/stm32extldr/blob/main/h7_w25q128/CLIVEONE-W25Q128_STM32H7XX-PB2-PB6-PF8-PF9-PF7-PF6.stldr

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

View solution in original post

9 REPLIES 9
Slawekkac
Associate

Hi,

Please look on this MOOC: https://www.st.com/content/st_com/en/support/learning/stm32-education/stm32-moocs/external_QSPI_loader.html

Why You add to the file linker.ld section?

.extflashSection :
{
*(.extflash)
} >QSPI

Could try

https://github.com/cturvey/stm32extldr/blob/main/h7_w25q128/CLIVEONE-W25Q128_STM32H7XX-PB2-PB6-PF8-PF9-PF7-PF6.stldr

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hii @Slawekkac  i made my external loader by referring this mooc tutorial only .....

I added QSPI section in linker script for just trial and error purposes... but im getting same output in both cases.

Hi @Tesla DeLorean , thanks for replying, i already tried this file before posting here, when i used this file i got "stldr rejected" kind of error in console.

Hi @JJhin.1  You should be add this section in file *.ld Your project but not to the file linker.ld. 

Generally You should be have separate two project: one for create customer loader and second project with TouchGFX. In the second project in the linker file You should be have section for QSPI.

Please look this: https://www.youtube.com/watch?v=ELMK35I86QE&t=251s https://www.youtube.com/watch?v=SRQD8JMeg_k&t=154s

hi @Tesla DeLorean  why im getting this error "Error: 'stldr' driver rejected flash bank at 0x00000000; usage: (null)" when im using "CLIVEONE-W25Q128_STM32H7XX-PB2-PB6-PF8-PF9-PF7-PF6.stldr" file ?

"CLIVEONE-W25Q128_STM32H7XX-PB2-PB6-PF8-PF9-PF7-PF6.stldr" loader is working with CubeProgrammer but not working with CubeIDE. it shows "Error: 'stldr' driver rejected flash bank at 0x00000000; usage: (null)" error in CubeIDE. 

for CubeIDE is anyother settings need to do?

I could rebuild with current model, but the QSPI memory is at 0x90000000, not 0x00000000

These were built for STM32 Cube Programmer

Refreshed with current build

https://github.com/cturvey/stm32extldr/blob/main/h7_w25q128/CLIVEONE-W25Q128_STM32H7XX-PB2-PB6-PF8-PF9-PF7-PF6.stldr

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Thanks @Tesla DeLorean  .... this one is working for CubeIDE. thank you very much for your support.

 

Also i want to know that, where im making mistake in my personal custom loader..