I am having a very hard time figuring out how to solve the following problem. I am on an embedded system with very little memory and want to minimize memory usage. Pointers
If I'm getting you right, this should be enough:
volatile unsigned long* GPIO_PORTA = (volatile unsigned long*) 0x40004000;
You could use that as
volatile unsigned long regxx = GPIO_PORTA[0x17]; // even GPIO_PORTA[10] &= 0xF000;