I have a piece of code that calls various function pointers in an array. These are read-only in Flash, meaning on the Cortex-M3 I am using they are always in the first 16 KB.
Is there any feature of the Keil compiler to use 16 bits for certain pointers, an attribute or similar? I'm looking to save code space. My first thought was to just have them cast to uint16_t, but I am worried that might interfere with the compiler's ability to optimize.