this post was submitted on 10 Jan 2025
-8 points (38.9% liked)

Programming

17896 readers
229 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] ericjmorey 13 points 1 week ago (1 children)

Embedded software development has dramatically advanced over the past decade. What does that mean for bare-metal programming?

At a Glance

  • Bare-metal programming is an essential skill as it enables you to understand what your system is doing at the lowest levels.
  • Even if you spend your days working with abstraction layers, bare-metal programming will guide you should abstractions fail.
  • And bare-metal skills can provide a solid foundation for troubleshooting and debugging.
[–] [email protected] 10 points 1 week ago (1 children)

Akshully, there are more levels below the machine code, with the mind-boggling complexity of modern CPUs and SoCs - but that doesn't diminish the value of understanding it.

[–] [email protected] 1 points 1 week ago (1 children)

Depends on what CPU is getting used but it's really fascinating.

[–] [email protected] 3 points 1 week ago* (last edited 1 week ago)

That's why I said "modern." You know exactly what's happening on a MOS 6502, for example, but when your top-of-the-line ARM SoC starts throwing bus faults because a CRC function returned a value that looked like a pointer to restricted SRAM ...