cancel
Showing results for 
Search instead for 
Did you mean: 

can this article be used to write external loader OSPI for Keil?

MNapi
Senior III

here is the application note from Keil

https://developer.arm.com/documentation/kan333/latest/

 

but it refers to QSPI

I wonder if it would be the same to follow and make external loader in Keil for OSPI (this is the memory chip MX25LM51245GMI00)

the first problem I see is link on page 7 to QSPI drivers

GitHub - STMicroelectronics/stm32-external-loader at contrib

but I cannot find how to replace it with drivers for OSPI, I do not see any drivers for OSPI

 

ST seems to be slow to do some more tutorials

3 REPLIES 3

>>ST seems to be slow to do some more tutorials

They are kind of in the business of selling chips, not teaching embedded sw engineers how to do their jobs.

Sure they could make things easier, but I can understand why it doesn't happen. Some of the videos are long and awful and don't really approach the problem correctly, IMHO. There's been a use of HAL where most of the shipped loaders used a much simpler/cleaner SPL approach that nobody wanted to admit existed.

There should be BSP code for ALL the EVAL/DISCO boards covering the QSPI/OSPI/HSPI/XSPI stuff, and components ST uses. Support for the MX25LM51245's is in there. Orders of magnitude more flowery than necessary, but there.

The ST/Keil STM32U5 packs have source and buildable .FLM for this chip, in an OSPI context for EVAL/DISCO/DK boards. Pulled the STM32H7 packs, in there too.

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

I am not doing it for living so my knowledge is a little limited just a few hobby projects. I know enough to figure it out sooner or later. I do not want to spend like a few weeks on this. Once I have some nice board with flashing LEDs and LTDC

Writing data to SD etc.

I do not know what else to do with it. Maybe build some robot.

 

I'm not a classically educated SW Engineer, I'm and EE with a major on IC Design. But can hit when at bat.

When I pivoted the STLDR's from QSPI to OSPI to XSPI, it was predominantly via search-n-replace, and cut-n-paste of the additional command structure tacked on, and the odd change where ST renamed the fields slightly, or randomly changed singular/plural.

The mechanics are all materially alike.

From the Packs..

C:\Keil5xx\Arm\Packs\Keil\STM32U5xx_DFP\2.2.0\CMSIS\Flash\STM32U599J-DK_OSPI\STM32U599J-DK_OSPI.uvprojx
C:\Keil5xx\Arm\Packs\Keil\STM32U5xx_DFP\2.2.0\CMSIS\Flash\STM32U599J-DK_OSPI\FlashPrg.c
C:\Keil5xx\Arm\Packs\Keil\STM32U5xx_DFP\2.2.0\CMSIS\Flash\STM32U599J-DK_OSPI\OSPI\STM32U5OSPI.c
C:\Keil5xx\Arm\Packs\Keil\STM32U5xx_DFP\2.2.0\CMSIS\Flash\STM32U599J-DK_OSPI\OSPI\stm32u5x9j_discovery_ospi.c

 

C:\Keil5xx\Arm\Packs\Keil\STM32H7xx_DFP\3.1.1\CMSIS\Flash\STM32H735G_Disco_OSPI\STM32H735G_DISCO.uvprojx

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