cancel
Showing results for 
Search instead for 
Did you mean: 

Standard Peripheral Library for the STM32F7 series of processors

brian239955_stm1
Associate III
Posted on July 12, 2017 at 00:35

Is there a version of the Standard Peripheral Library that works with the STM32F7 series of processors, specifically the STM32F767?  I know that Cube is the new direction, but we have a substantial code base developed on a version of the SPL for the STM32F103.  We need to develop another product based on the STM32F767, and would like to leverage as much of our existing code as possible.

#stm32f7 #standard-peripheral-library
1 ACCEPTED SOLUTION

Accepted Solutions
Amel NASRI
ST Employee
Posted on July 12, 2017 at 14:46

Hello

Peavey.Brian

‌,

No SPL is planned for F7 (as well as new other MCU families like L4 and H7).

But you have the LL (low-layer) drivers that may be considered as a continuity of the SPL and are available in the same package as HAL drivers (

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef7.html

).

-Amel

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.

View solution in original post

8 REPLIES 8
Posted on July 12, 2017 at 01:00

I hope you're not working on a fixed price contract.

It's going to be rough.

Amel NASRI
ST Employee
Posted on July 12, 2017 at 14:46

Hello

Peavey.Brian

‌,

No SPL is planned for F7 (as well as new other MCU families like L4 and H7).

But you have the LL (low-layer) drivers that may be considered as a continuity of the SPL and are available in the same package as HAL drivers (

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef7.html

).

-Amel

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.

C P
Associate II
Posted on July 12, 2017 at 18:19

Yeah it's real bad, having spent more than a year on a STM32F4 project that now has to run on STM32F7 series. Lots of time to be spent to 'upgrade' it to (bloated) HAL libraries. Anyone had a go with the STL library from here?

https://gitlab.com/caesar-lab/stm32f7-legacy-library

 
AVI-crak
Senior
Posted on July 12, 2017 at 19:41

Error.

You can not mix software and hardware code.

The standard peripheral library for STM32F767 is called stm32f767xx.h, the size is 1.55Mb.

Posted on July 13, 2017 at 04:26

pretty much, this.  take the header file and the CMSIS and roll your own at that point, since you're pretty much doing direct register manipulation anyway.

Amel NASRI
ST Employee
Posted on July 20, 2017 at 11:42

Hi,

Good news for

Peavey.Brian

‌ &

Pieterse.Carlos

‌: the tool

http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/spl2ll-converter.html

converter is just published in the web. It allows you to convert your SPL application to a Cube one based on LL code.

http://www.st.com/content/ccc/resource/technical/document/application_note/group0/5e/65/b0/94/13/e4/42/ca/DM00405316/files/DM00405pdf/jcr:content/translations/en.DM00405pdf

shows the steps to migrate from an existing STM32-based application developed under the STM32 SPL to any one of the other microcontroller types using the STM32Cube LL drivers.

Try this tool and let us know your feedback. It is interesting for us to know if it was efficient for you. If you have any comment on this regard, you can share it here in the forum.

-Amel

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.

Posted on July 20, 2017 at 11:50

Yes thanks, I noticed it the other day. I did ran my sources through and it seems to do a good job on the search and replace. Although some stuff was missing like DMA setup, anyway I will walk through it all manually soon and hopefully it will be a fairly trivial conversion, which is great. Glad for the LL drivers

Posted on July 23, 2017 at 10:38

Just something that strikes me a bit odd, is why you don't keep the same naming convention between the LL drives regardless of MCU.

First I converted my SPL project from STM32F4 to LL STM32F4 and after a day of mocking around I got it working.

Now that the project is using the LL drivers and naming convention, it should be easy to move it to the STM32F7. However all the SDIO_ defines for STM32F4 LL and structures have changed to SDMMC_ for STM32F7 LL.

They are virtually the same otherwise, so I can do a bunch of re-defines to keep the code fairly portable between the two, just wonder why not keep the same naming convention through out? - I only got to the SDIO/SDMMC for now, so I am guessing there is probably more of this...

Anyway not a big deal.