Вот извлечение из FAQ:
SYMPTOM
The following code will not compile under RealView:
Void (*MyFunc) (void) = 0x6000;
CAUSE
The RealView C compiler is quite particular about symbol types. It does not automatically cast an integer constant to a code pointer.
RESOLUTION
To make sure the types of your pointer and constant agree, define a new type, and then use that to declare your pointer and constant. For example:
typedef void (*t_funcPtr)(void);
t_funcPtr MyFunc = (t_funcPtr)0x6000;
Сделал так, как и рекомендуется. А вот дальше проект не компилируется, как бы я не пытался задать адрес. Вообще, совершенно непонятно как его задавать. Например, вот такой код не компилируется:
typedef void (*t_funcPtr)(void);
t_funcPtr fpga_loading = (t_funcPtr)0x20000;
void (*fpga_loading)(void)
{
...
}
Подскажите, плиз, как правильно написать ...