fixed memory addresses

Gedare Bloom gedare at rtems.org
Mon Jul 23 15:09:03 UTC 2012


The OS (and application) are linked together to form a single binary
image, which can be loaded to target hardware. The "linkcmds" files in
the bsp directory control how that linking happens. The linkcmds file
tells the linker where to put each kind of section produced during
compilation/assembly.  Often the base addresses of some sections are
fixed addresses in memory. But the individual structures within those
sections may be rearranged by the linker.

Just changing the layout of data structures should not affect the
memory mapping too much, but it does change the size estimates for
those structures. Importantly, OS structures are mostly allocated out
of the "Workspace", which is a (memory) heap dedicated to the kernel's
memory requirements. The size of the workspace is configured based on
what the application requires, exported through macros CONFIGURE_XXX
defined by the application and processed through confdefs.h
(sapi/include/confdefs.h)

-Gedare

On Mon, Jul 23, 2012 at 7:15 AM, Fered <a_Fered at yahoo.com> wrote:
> Hi;
>
> I have a question about how the OS is mapped to memory.
> Are exist some parts which are mapped to a fixed address in memory?
> I want to know if I manipulate some data structures and add or remove some
> fields, is it possible to corrupt memory mapping?
>
> Thanks.
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-devel



More information about the devel mailing list