Hello, All:
I'm trying to define function pointers array:
static const void (*Serial_Func_Table[])(char*) = { SI_Func_1, SI_Func_2, SI_Func_3 };
Despite of "const" memory qualifier, this array is nevertheless located in the RAM, while SI_Func_1, SI_Func_2, SI_Func_3 points to the flash memory. I've checked the table location in the RAM - it is filled by zeros. As a result, my code is not working - functions are not called.
I'm using Infineon XE164FM micro.
This code was ported from my another project on ST10F269. In that MCU this array is located in the flash area and working as expected.
The question is: How to locate function pointers array in the flash space for XE164FM?
Before I forget, there is one more thing to try:
typedef void (*func_ptr)(char*); static const func_ptr Serial_Func_Table[] = ...