No
reads article
No
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.
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.
Depends on what CPU is getting used but it’s really fascinating.
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 …
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.
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