Indirect function calls with code banking


Im having some problems with code banking, regarding to passing functions adresses as parameters. for example:

void func ( void(*ret_func1)(void), void(*ret_func2)(void))

Imagine that several functions (placed on all banks) call the function "func" and pass the 2 return adresses, that are on diferent banks that "func".
It makes my program halt or reset(depending on the situation).

How can i make this work?
Im using c51 v7.03, and a silabs 8051F120 processor.

thanks for any help,


More questions in this forum