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
top 7 comments
sorted by: hot top controversial new old
[–] [email protected] 48 points 1 week ago

No

reads article

No

[–] 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 ...

[–] bitcrafter 6 points 1 week ago (1 children)

Boy does it seem like this author is trying to push something. I wonder if...

To learn more, attend my upcoming CEC course January 27-31: Expert C Techniques to Master Bare-Metal Programming. You’ll discover how to master one of C’s most powerful tools—function pointers—and use them to design flexible, efficient systems. From building cooperative schedulers and command parsers to creating configurable, reusable code, you’ll gain hands-on insights that can transform your approach to embedded programming.

...yep, sounds about right.

[–] [email protected] 3 points 1 week ago

Aren't function pointers against the MISRA standard?

I'm not saying they are bad because they can be really useful but when it comes to writing safe code I believe their usage is heavily discouraged