With no additional information I would say the wrong processor is used. (I am not being facetious). I am currently working in a project using a processor with 64Kb of RAM and 256Kb of on-chip executable flash, could go up to 1Mb flash using other devices in the same family.
If we are in the design stage, would go back to component selection.
If we are talking about an existing product were the code size grew over time and we cannot redesign it because of the usual reasons/excuses, then implementing "something like overlays" may be the best solution.
When I wrote "overlays don't make sense" I did not mean "overlays are considered harmful", only that they are less needed as time goes by. I believe the lack of built-in support for overlays in today's languages and systems proves this point. If there was a need, there would be explicit tool support.
-- Roberto Waltman
[ Please reply to the group. Return address is invalid ]