This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Sharing DATA and XDATA within a group of functions

Hi,

I am getting the "BL51: WARNING 15 (MULTIPLE CALL TO SEGMENT)" warning because a group of functions are called by an interrupt handler. The functions themselves are not reentrant.

Following the advice at http://www.keil.com/support/docs/805.htm, Method 2 is the most suitable solution to my problem. However this causes the increase of DATA and XDATA usage as the memory used by the functions are not overlaid.

My question is, is there a way to group the functions so that the memory usage is overlaid within this group? I tried declaring a new MEMORY CLASS and re-direct it using #pragma userclass ( XDATA = newClass). However this method only works for XDATA as #pragma userclass( DATA = xxx) is not a valid directive.

Any help would be greatly appreciated.