• @[email protected]
    link
    fedilink
    1215 days ago

    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.
    • @SpaceNoodle
      link
      1015 days ago

      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.

        • @SpaceNoodle
          link
          3
          edit-2
          15 days 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 …