The only model supported is Flat 24. This generates code for the 24
bit contiguous addressing mode of the Dallas DS80C390 part. In this
mode, up to four meg of external RAM or code space can be directly
addressed. See the data sheets at www.dalsemi.com for further information
on this part.
In older versions of the compiler, this option was used with the MCS51
code generator (-mmcs51). Now, however, the '390 has it's own
code generator, selected by the -mds390 switch.
Note that the compiler does not generate any code to place the processor
into 24 bitmode (although tinibios in the ds390 libraries will
do that for you). If you don't use tinibios, the boot loader
or similar code must ensure that the processor is in 24 bit contiguous
addressing mode before calling the SDCC startup code.
Like the -model-large option, variables will by default be
placed into the XDATA segment.
Segments may be placed anywhere in the 4 meg address space using the
usual -*-loc options. Note that if any segments are located above
64K, the -r flag must be passed to the linker to generate the proper
segment relocations, and the Intel HEX output format must be used.
The -r flag can be passed to the linker by using the option -Wl-r
on the sdcc command line. However, currently the linker can not handle
code segments > 64k.