[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
BSP requirements for C++ support
- Date: Mon, 16 Mar 98 10:43:57 -0600
- From: eric at skatter.USask.Ca (Eric Norum)
- Subject: BSP requirements for C++ support
> What parts of the CPP support must be located in RAM? The way that
> most BSP's have been implemented, .text sections get copied to RAM.
And there's usually been a reason for that.
On many machines ROM is *much* slower than RAM. For example, on the
68360 board I'm working with, RAM is 32-bits wide, 60 nsec access.
ROM is 8-bits wide, 180 nsec access. Thus, getting values from ROM
is 12 times slower......
I presume this isn't the case in your application (flash memory, perhaps)?
> The i386ex BSP leaves the .text section in ROM, and copies other
> sections to RAM ( idt, interrupts, gdt,data). Must the CTOR and
> DTOR lists be in RAM?
I'm not familiar with the details of C++ constructor and destructor
lists, but I notice from looking at the binutils-2.8.1 source that
some GLD scripts place them in the .text segment and other GLD
scripts place them in the .data segment. From this I intuit that
they *can* be placed in read-only memory.
> Must the CREATE_OBJECT_SYMBOLS directive be in the text section? I
> don't know what that directive does, since the gcc 2.8.0 info
> package would not make. Can that directive be located in another
> section? ( perhaps a CTORS section? perhaps the .data section?)
That's just for creating symbol table entries for the object file
names. This directive has no other effect.
Eric Norum eric at skatter.usask.ca
Saskatchewan Accelerator Laboratory Phone: (306) 966-6308
University of Saskatchewan FAX: (306) 966-6058