This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Why Cortex-M7 doesn't support bit-banding?

Cortex-M7 processors tends to be for the high performance applications. So why it doesn't support bit-banding if this has a lot of advantages to the code size and performance?

Parents
  • I can't speak for Arm, but you may find some answers here and here.

    Interestingly, despite bit-banding offering the best code density for register-level bit manipulation, it is not part of the Cortex-M0+ core which ARM has targeted for the smallest, most cost-sensitive microcontrollers. For these kinds of devices, ARM recommends that designers implement dedicated set/clear registers, which have the benefit of drawing current only when clocked versus the bit-band address decoder, which is probably clocked for all memory accesses.


    Registers with multiple single-bit bit-fields may implement the “set and clear” pattern. This pattern enables firmware to set and clear individual bits in a register without having to perform a read-modify-write operation on the main register.

Reply
  • I can't speak for Arm, but you may find some answers here and here.

    Interestingly, despite bit-banding offering the best code density for register-level bit manipulation, it is not part of the Cortex-M0+ core which ARM has targeted for the smallest, most cost-sensitive microcontrollers. For these kinds of devices, ARM recommends that designers implement dedicated set/clear registers, which have the benefit of drawing current only when clocked versus the bit-band address decoder, which is probably clocked for all memory accesses.


    Registers with multiple single-bit bit-fields may implement the “set and clear” pattern. This pattern enables firmware to set and clear individual bits in a register without having to perform a read-modify-write operation on the main register.

Children
No data