stm32f103-example
libopencm3
stm32f103-example | libopencm3 | |
---|---|---|
6 | 11 | |
2 | 2,944 | |
- | 1.1% | |
0.0 | 5.7 | |
over 1 year ago | 16 days ago | |
C | C | |
The Unlicense | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
stm32f103-example
- Is there a command line process for ST embedded devices?
-
First project: bare-metal stopwatch
If you want to do bare-metal programming, you may want to take a look at my stm32f103-example project. It's for a different microcontroller than the one you're using, obviously, but converting it to work with an F4 part should be fairly straightforward. (I use the same framework for all of my STM32 projects.)
-
When using STMF303K8, why does the ADC voltage regulator turn 0 after activating the ADC enable control?
Use the CMSIS definitions of registers. They will save you a lot of time. If you're unhappy with having to repeat the names of peripherals, consider using something like the FIELD macros I wrote here.
-
Converting the startup script to C?
The VECTOR macro expands to a sequence of assembler directives which uses .org. It'll end up creating gaps as needed.
-
Using binary numbers in C
And with a helper macro, you can rewrite the first bit as:
libopencm3
- Open source ARM Cortex-M microcontroller library
-
Setting up a good dev environment without recreating the world
Some of the vendor IDEs have the option to generate makefiles for a project. Depending on the processor, you could also opt out to a different system. A lot of the popular cortex-m stuff is supported by libopencm3.
- Is there a command line process for ST embedded devices?
-
Looking for someone interested in designing a HAL
You can also look at examples of HALs such as - libopencm3 (Though this is Cortex only) - RIOT OS (though this requires an RTOS)
- how come there aren't any open source drivers for MCUs?
- Is there a database of peripheral implementations for different STM32 MCU parts?
-
Portable driver libraries or HAL that supports Atmel SAM targets?
Yeah by the looks of it I am going to have to expand my project do creating a portable driver interface as well. Abstracting hardware interfaces to create portable code is fairly common in embedded development. For example, libopencm3 does this and has great support for STM32 parts but very limited support for SAM parts.
-
How can i implement USB interface for an embedded flight controller to enable serial prints, parameter changes AND reading data from an SD card?
TinyUSB or Libopencm3 are probably your best options (although check they support the SAME70).
-
Which uC has the most flexible, feature-packed SPI peripherals?
that is fair. SPI isn't very portable across Arm cpu vendors because all peripherals are vendor specific, i.e. the registers will differ a lot and APIs reflect that. Finding common ground is hard unless using specifically designed portable libraries like https://github.com/libopencm3/libopencm3
- Code organization and modularity
What are some alternatives?
wasm3 - 🚀 A fast WebAssembly interpreter and the most universal WASM runtime
grblHAL - This repo has moved to a new home https://github.com/grblHAL
FreeRTOS-rust - Rust crate for FreeRTOS
libusb_stm32 - Lightweight USB device Stack for STM32 microcontrollers
stlink - Open source STM32 MCU programming toolset
stm32-cube-cmake-vscode - STM32, VSCode and CMake detailed tutorial
u2f-token - u2f token firmware for stm32f103 and efm32hg boards
stm32-rs - Embedded Rust device crates for STM32 microcontrollers
greenpill - STM32 Green Pill (STM32F103 Devvelopment Board)
rt-thread - RT-Thread is an open source IoT real-time operating system (RTOS).
cosmicOS-core - Simple to use HAL for ARM Cortex-M devices
stm32disc_midisynth1 - midi-controlled synth example for STM32F407VG Discovery board