• malank@lemm.ee
      link
      fedilink
      arrow-up
      10
      ·
      4 days ago

      ARM has bit-banding specifically for this. I think it’s limited to M-profile CPUs (e.g. v7-M) but I’ve definitely used this before. It basically creates a 4-byte virtual address for every bit in a region. So the CPU itself can’t “address” a bit but it can access an address backed by only 1 bit of SRAM or registers (this is also useful to atomically access certain bits in registers without needing to use SW atomics).

    • Treczoks@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      4 days ago

      Tell this to the LPC1114 I’m working with. Did you ever run a multilingual GUI from 2kbytes RAM on a 256x32 pixel display?

      • Subverb@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        I did a multilingual display with an 8031 in 1995 on a 2x16 text LCD. I had 128 bytes of RAM and an EPROM. Did English, Spanish and German.

        You kids have it so easy nowadays. 🤣

        • Treczoks@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

          Last counting was 114 languages on the LPC1114. And yes, with normal LCDs I’ve done similar things on an 8051 before.