This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Booting PC from ROM


Hi,

I'm working with a board based on an AMD SC300 microcontroller, which
should behave much like an "embedded PC". I'm interested in having at
least redboot to work on the board, but I have two main problems:

1) I have no floppy, so I shall boot my board from flash.
2) I need to modify the startup code to pre-initialize the CPU, so I'll
probably have to create a new platform with a modified startup code.

First I decided to concentrate on step 1).
I know that ROM startup for the PC platform is not guaranteed to work
yet, but anyway I tried building redboot for a ROM startup (target =>
pc, template => redboot).
As a result I got TWO binary files (just mentioning the .elf "versions"
of such files): redboot.elf and romboot.elf.
redboot.elf is linked to have its entry point at 0xf0000 , but the
important thing is that I expected to have a jump at 0xffff0 (the
location where the CPU should fetch its first instruction from), but
cannot find it. Actually, if I objdump redboot.elf I can't find any
instruction at 0xffff0, so my conclusion is that this file will never
work if I use it for programming a flash chip.
On the other hand, romboot.elf seems to be a very short file linked to
start at 0x0, with a jump placed at 0xf0 and another jump (to location
0xf0000) just after the cpu has switched to protected mode.
My understanding is that romboot.elf should contain the start-up code
and then a jump to the code placed at 0xf0000, but also in this case
there's no instruction at 0xffff0.
Could anybody explain to me the real purpose of romboot.xxx and why is
it linked to start at address 0x0 ? (Maybe it's written somewhere, but
I couldn't find it)


Thanks in advance for your help.

Regards
Davide Ciminaghi



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]