Question
ST-Libs, CMSIS, newlib - advice requested
Posted on June 25, 2014 at 12:14
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 ?