alt.hn

5/12/2026 at 2:57:25 PM

Bare-metal STM32: vector table, linker script, and startup code from scratch

https://lmilz.dev/blog/2026/04/19/Embedded-Hello-World.html

by lmilz

5/15/2026 at 7:05:38 AM

Does anybody else remember the Excel spreadsheet with a bunch of drop down menus that fed 1kloc of embedded visual basic to generate a C function to program the STM32 clock registers based on your selections? Top ten silliest things I've seen in my career for sure...

Related, I have a little end-to-end example of a piece of hardware with an STM32 running bare metal firmware like this: https://github.com/jcalvinowens/ledboard

by jcalvinowens

5/15/2026 at 8:09:47 AM

[flagged]

by lmilz

5/15/2026 at 8:50:21 AM

I found that, even using the STM32 IDE and HAL/CMSIS, I needed to deep dive into the hardware documents, compiler section attributes and linker scripts to build what I wanted (a digital graphic equaliser with optical I/O and a display/control screen on a Nucleo-H753ZI board). DMA and cacheing don't mix! That was my first adventure in ARMland but the experience helped a lot for subsequent hacking on RP24040/2350 kit.

by jcsager

5/14/2026 at 11:41:20 PM

I saw the comment about it being hard to use the esp32 without the IDF and was about to disagree, but after one second's thought, the author is right. Access to all their chips is via some quirky lower level api. That said, considering how different the chips are, it's actually a surprise they even manage to give you a common interface to them all. There was an OS free boot for the esp8266.

It's probably possible if you forego the wifi and there was a basic boot hello world a while back. The arm is not natively wifi so it's not really comparing apples to apples.

by mianos

5/15/2026 at 8:10:04 AM

[flagged]

by lmilz