Hi Antonio,

> Is there any switch to pass to compiler to use udata_ovr to some  
> variable, or to join rx1000... registers in routines that are
> not called one by another?
>
> If I edit many functions in the same file will the compiler reduce  
> register quantity?

The first idea (assigning variables to named banks) cannot be
realized with the current pic14 port (as far as I know). There
may be a #pragma, I will have to look that up.

However, overlaying r0x1000+ registers will be done unless --nooverlay
is given. To make it work best, aggregate many functions in a single
file (the compiler/linker will allocate disjoint memory regions per
file) *and* make most of them static (*only* functions that cannot be
called from outside the current file can have their registers
overlaid; otherwise interrupt handlers would be really ugly).

Then, do NOT use the --nooverlay option, which precludes exactly
the desired behaviour: The option exists because of bugs in the
overlay algorithm that have been removed only recently (I think
this was fixed on 2009-02-28).
Use a recent SDCC snapshot (2.9.0 should be fine, more recent ones
typically rather improve than deteriorate things ... typically ...).

Hope that helps,
Raphael

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to