[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
You wrote:
> 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
Saskatoon, Canada.