cancel
Showing results for 
Search instead for 
Did you mean: 

IAR: How to create external Flash loader for STM32H750IBK and IS25LP512M-JLLE

rao123
Associate

I have implemented custom external flash loader using IAR workbench framework for STM32H750IBK6 and flash device IS25LP512M-JLLE. I am seeing my basic flash commands like read status, write enable are failing. if I use the same commands in my own test framework they are working fine, so my question is when using IAR framework for flash loader development what are the preconditions to follow.

4 REPLIES 4
KDJEM.1
ST Employee

Hello @rao123 and welcome to the community;

 

Could you provide more details about the issue? Did you get a HardFault or an error message?

Is the IS25LP512M-JLLE connected to the QuadSPI interface?

 

Please look at How to implement and use your own external flash loader: An example using STM32U5A9J-DK article may help you.

 

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

I am seeing hardfault exception, my question is while running the application in debug mode, first flash loader kicks in and then tries to copy the application to external flash while doing so does it have any dependency wrt to time. Because the basic read device ID command working if I call it from FlahInitEntry and samething fails if I call it from FlashEraseWrite call. May be I am missing some crucial  thing here.

KDJEM.1
ST Employee

Hello @rao123 ;

 

Is the cache enabled?

If yes, make sure that you respect this sequence: configure MPU firstly, then enable cache.

I advise you to refer to How to debug a HardFault on an Arm® Cortex®-M STM32 - STMicroelectronics Community to debug a HardFault.

 

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

> I am seeing hardfault exception,  ...

As said, this is a starting point.
Inspect the fault registers in SCB, the what caused it.

If necessary, step through the critical code sequence in instruction/assembler mode.