• ericjmorey
    link
    fedilink
    arrow-up
    11
    ·
    21 hours 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@lemmy.world
      link
      fedilink
      arrow-up
      10
      ·
      19 hours 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@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          16 hours 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 …