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

Data Overlaying


I am writing an application where my code is split into two sections.
One section contains the boot loader (internal micro memory sec[1]) which loads the functional part of the code into ext flash -sect[2].

After the functional code is loaded and it is running in the flash it returns to the internal code to process interrupts and perform flash writing utilities.

I have no trouble placing the code subroutines into the proper place in memory (ie either internal or external address ranges) using the linker SE command.
But I am trying to guarentee that when functions are called from the
functional(flash) code to the micro side that all data is passed on the stack(or in registers) as apposed to fixed addresses. This is because my micro code is not intended
to change even when my functional code is upgraded and rebuilt. I tried using the NO OVERLAY command to the linker but one of my function parameters is still assigned
an XDATA address as well as my function returns. At the very least I would like them to be stored within the internal micro RAM (preferably if not stored on the stack).
My intention is not to disturd the code on the micro side once it is initially created.


If I try compiling my internal code with a different memory model my linker complains about incompatible memory models.

0