I am using the OVERLAY directive as following: OVERLAY(func0 ! *,func1 ! *,func2 ! *,func3 ! *,func4 ! *,func5 ! *) to Excludes the functions from overlay analysis and locates its data and bit segments in non-overlaid memory I don't see any memory usage changes. Am I doing anything wrong? Thanks, Anh
"It works fine on Windows and I am porting to 8051. There's quite a few function pointers..." Well, that's very likely (almost certainly?) your problem! You have read the App Note & Knowledgebase article(s) about this, haven't you? It is the very nature of the 8051 architecture that makes function pointers a Bad Thing on this processor. If you really need this code to run on both Windows and 8051, you need to design for the lowest common denominator - and that is certainly the 8051. Anything an 8051 can do, a Pentium will eat for breakfast - but getting an 8051 to behave like a Pentium is, at best, woefully misguided! :-(