AnsweredAssumed Answered

ST-Libs, CMSIS, newlib - advice requested

Question asked by hwe on Jun 25, 2014
Latest reply on Jun 26, 2014 by hwe
Hi,
I am trying to understand the differences between the different libs for the stm32F4xx development.
As newbie its not easy to get the overview.
Here are the terms I want to understand:

1) CMSIS:
Standardization lib for general arm-development independent from ST. Used for manufacturer independent development. Lowest lib-hierarchy layer. Correct ?

2)Standard peripheral lib:
"old" library from ST for stm32 development, reference to CMSIS. One lib-hierachy level above CMSIS.
Used by the most tutorials found in the web. Correct ?

3)STM32Cube:
"new" library from ST for stm32 development, references to CMSIS. One lib-hierachy level above CMSIS.
Replaces the "standard peripheral lib" and is recommended for new designs. Correct ?

4)Examples using "standard peripheral lib"
Examples using the "old" lib cannot be run with the "stm32Cube" libs out-of-the-box. Examples need to be modified using the "stm32Cube" functions. Correct ?

5)Eclipse GNU-ARM-Plugin
The actual Eclipse-GNU-ARM-Plugin comes with "stm32Cube" and not with "standard peripheral lib". So "old - std-periph-lib"  examples will not run out of the box. Correct ?

6)newlib
What is newlib ?
When using the GNU-ARM-Plugin templates in eclipse for e.g. STM32F429, there are functions called _start(), __initialize_hardware() etc....  The documentaiton says, this is part of "newlib".
How is this "newlib" related to "stm32cube" or the "standard peripheral lib" lib ?

Outcomes