I have searched information on Bit-Banding in Cortex-M3 and M4 with the GNU GCC ARM EABI NONE, I have seen basic examples on the internet but none works with GNU GCC also seems that no intention to have such feature implemented.
Can someone tell me if the LD via memory remapping really work? the best approach?
What is the best way?
I'm quite positive that it can be done with plain C and a linker-script (without using the macro).
The linker-script will need two special sections; one for bitband-access and one for normal access.
Then making two instances of the variable using 'volatile __attribute__((section("NAME")))', where NAME is for instance bitband_bits or bitband_vars.
It would be safest to group those two together, however, there's no guarantee that it will work well, if more than one bitband variable is used at a time.
carlosdelfino: The macro will be just as fast as the linker-script access, it's also the safest approach if you're not using Keil.