From libopencm3
Jump to: navigation, search

In general, look at the directory structure of lib/xxxx to see what parts are available. In general, all core Cortex M0, M0+, M3 and M4/M4F features are fully supported, the differences are only in the peripherals.



"complete" There can always be more examples, better high level functions, and expanded documentation, but most of the STM32 family is pretty complete. Newer parts, and especially newer peripherals are sometimes not as fully developed, but they normally catch up quite quickly after the parts become generally available. Less used peripherals like LCD/touch controllers and crypto modules tend not to be as well developed, nor as well tested. The newer the part, the less likely it is to have been rigorously tested

Support here includes STM32F0, F1, F2, F3, F4, F7, L0, L1, L4

TI MSP432 nee LM4F nee TM4C


TI's line of cortex-M parts have identity problems. Original support was for Stellaris M3 parts, and then for Tiva M4F parts. As of this writing, it has not been confirmed how much of it works as is on the newly renamed MSP432 parts, but it's presumably all the same still? These parts haven't been particularly popular in the community, and only have basic peripherals added.

NXP LPC13xx, LPC15xx and LPC17xx

"partial" Memory maps are complete, and gpios and interrupts, but again, this hasn't proven to be a popular platform in the community


"partial" This is better supported than the LPC13xx and LPC17xx but still quite thin.


For the Tiny Gecko, Gecko, Leopard Gecko and Giant Gecko families, there are working vector tables and linker scripts, which is everything that is required to use the chips themselves. Peripherials are only supported through the vendor's free emlib library so far.

The Zero Gecko and Wonder Gecko series are not supported so far. (They the Cortex-M0 and Cortex-M4 cores, respectively. While this doesn't exclude them from being supported in libopencm3 despite its name, they'd need further testing.)

See the EFM32 page for details about this series.

Atmel SAM

"partial" Basic support for the gpios, interrupts, uarts and PMC are available for 3a, 3n, 3s, 3x and 3u as of this writing, but check the lib/sam directory for more up to date information

Freescale Vybrid VF6xx

"partial" Basic support for gpios, interrupts, uarts are available for the cortex-M part.

Freescale Kinetis / Nuvotron / Nordic / Toshiba et al

Not currently supported


Personal tools