stm32f103-example
bare-metal-echo
stm32f103-example | bare-metal-echo | |
---|---|---|
6 | 2 | |
2 | 0 | |
- | - | |
0.0 | 10.0 | |
over 1 year ago | about 1 year ago | |
C | C | |
The Unlicense | - |
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:
bare-metal-echo
-
How can I debug DMA errors?
How can I go about debugging this error? All the code is on github (https://github.com/jonah-saltzman/bare-metal-echo), if anyone would be so kind as to take a look. The relevant code is in Src/init.c (where I set up the UART and DMA), and Src/io.c (the basic_transfer function is supposed to write to the serial output using DMA).
-
First project: bare-metal stopwatch
So I started with a udemy course, but I only watched about 30 minutes worth of it before I realized, to his credit, that the teacher was simply showing us what to look up in the technical reference manual. So basically I started really really simple (blinking an LED), then tried some timer stuff, then put that together into this project. I'm basically going peripheral-by-peripheral: first GPIO, then the NVIC interrupt controller + timers. I also did a console echo program with the UART, you can check that one out here. Next I'm going to learn DMA by combining DMA with UART to do IO without using the processor (as much).
What are some alternatives?
wasm3 - 🚀 A fast WebAssembly interpreter and the most universal WASM runtime
FreeRTOS-rust - Rust crate for FreeRTOS
stlink - Open source STM32 MCU programming toolset
u2f-token - u2f token firmware for stm32f103 and efm32hg boards
greenpill - STM32 Green Pill (STM32F103 Devvelopment Board)
cosmicOS-core - Simple to use HAL for ARM Cortex-M devices
rewheel - Firmware modification tools for your Onewheel
stm32-overclocking-challenge - Push STM32 to its limits (Overclocking Challenge)
stm32-uart - USART protocol implementation in STM32 using various methods and frameworks
STM32F103_MSD_BOOTLOADER - STM32F103 Mass Storage Device Bootloader
STM32-base - A simple start for any STM32 based project.
libopencm3-examples - Simple example projects showing how to use libopencm3.