Ponteiro para função em "large-code" com XC16

Pessoal, estou portando um código do PIC18 para PIC24 e com o crescimento do projeto, tive que habilitar no compilador "large-code" quando o código se tornou maior que 64K.
Porém, existem no código alguns ponteiros para funções que deixaram de funcionar após a opção large-code, pois os ponteiro são do tipo 16 bits e não conseguem mais endereçar corretamente.
Tenho um tipo definido, uma variável para guardar o ponteiro e depois chamo a função usando o ponteiro.
Alguém tem alguma luz?
Já pesquisei e li o manual do compilador que tem vários identificadores e qualificadores de tipo, mas ainda não conseguir colocar para rodar.
Porém, existem no código alguns ponteiros para funções que deixaram de funcionar após a opção large-code, pois os ponteiro são do tipo 16 bits e não conseguem mais endereçar corretamente.
The MPLAB XC16 C Compiler fully supports pointers to functions, which allows functions
to be called indirectly. Function pointers are always 16 bits wide.
In the small code model (up to 32 kWords of code), 16-bit wide function pointers can
access any function location. In the large code model, which supports more than 32
kWords of code, pointers hold the address of a GOTO instruction in a lookup table.
These instructions are able to reach any memory location, but the lookup table itself is
located in the lower program memory, thus allowing the pointers themselves to remain
as 16-bit wide variables.
Tenho um tipo definido, uma variável para guardar o ponteiro e depois chamo a função usando o ponteiro.
- Código: Selecionar todos
typedef BOOL (*pp_timers_callback) (void);
pp_timers_callback pp_cb;
pp_cb = MinhaFuncao;
if ((p_cb())
{
xyz;
}
Alguém tem alguma luz?
Já pesquisei e li o manual do compilador que tem vários identificadores e qualificadores de tipo, mas ainda não conseguir colocar para rodar.