<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://runningbrute.github.io/</id><title>std::cout</title><subtitle>Notes from experiments on embedded systems, performance optimization, and modern C++.</subtitle> <updated>2026-04-16T23:34:50+02:00</updated> <author> <name>RunningBrute</name> <uri>https://runningbrute.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://runningbrute.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://runningbrute.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 RunningBrute </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Bare Metal STM32 - runtime errors</title><link href="https://runningbrute.github.io/posts/bare-metal-stm-runtime-errors/" rel="alternate" type="text/html" title="Bare Metal STM32 - runtime errors" /><published>2026-04-16T00:00:00+02:00</published> <updated>2026-04-16T23:34:26+02:00</updated> <id>https://runningbrute.github.io/posts/bare-metal-stm-runtime-errors/</id> <content type="text/html" src="https://runningbrute.github.io/posts/bare-metal-stm-runtime-errors/" /> <author> <name>RunningBrute</name> </author> <category term="embedded" /> <summary>This time we’ll focus on what happens in runtime. We’ll start from the binary we built previously and see how it behaves on real hardware. To flash the program, I’m using openocd together with arm-none-eabi-gdb. Since I’m working with an STM32 Nucleo L476RG, I’m using the appropriate target config: openocd -f interface/stlink.cfg -f target/stm32l4x.cfg ... Info : STLINK V2J45M31 (API v2) VI...</summary> </entry> <entry><title>Bare Metal STM32 - compilation</title><link href="https://runningbrute.github.io/posts/bare-metal-stm-compilation/" rel="alternate" type="text/html" title="Bare Metal STM32 - compilation" /><published>2026-04-15T00:00:00+02:00</published> <updated>2026-04-15T00:00:00+02:00</updated> <id>https://runningbrute.github.io/posts/bare-metal-stm-compilation/</id> <content type="text/html" src="https://runningbrute.github.io/posts/bare-metal-stm-compilation/" /> <author> <name>RunningBrute</name> </author> <category term="embedded" /> <summary>There’s no better way to truly understand something than building it from scratch. So I decided to dust off my STM32 Nucleo board and try to bring it up completely “bare metal”. Let’s start with the simplest possible program: /* main.cpp */ int main() { while (1) {} } First problem – libc When trying to compile, we immediately hit the first issue: arm-none-eabi-g++ main.cpp -o app.e...</summary> </entry> <entry><title>Hello World</title><link href="https://runningbrute.github.io/posts/hello-world/" rel="alternate" type="text/html" title="Hello World" /><published>2026-04-11T00:00:00+02:00</published> <updated>2026-04-14T22:06:13+02:00</updated> <id>https://runningbrute.github.io/posts/hello-world/</id> <content type="text/html" src="https://runningbrute.github.io/posts/hello-world/" /> <author> <name>RunningBrute</name> </author> <category term="Test" /> <summary>This is a simple test post to verify that everything works correctly. And its looks like everything is ok. #include &amp;lt;string&amp;gt; int main() { std::cout &amp;lt;&amp;lt; "Hello World" std::endl; return 0; }</summary> </entry> </feed>
