[ECOS] Help with a HAL porting
Rycerz Roman-G11565
roman.rycerz@motorola.com
Tue Jul 27 20:23:00 GMT 2004
I also am working on a HAL port to a different PPC.. I also had problems in the "cyg_hal_invoke_constructors". What I did was to turn on assertions and tracing.. That helped me identify the problem area
Roman
-----Original Message-----
From: ecos-discuss-owner@ecos.sourceware.org [mailto:ecos-discuss-owner@ecos.sourceware.org] On Behalf Of Legarda Garikoitz
Sent: Tuesday, July 27, 2004 11:50 AM
To: ecos-discuss@ecos.sourceware.org
Subject: [ECOS] Help with a HAL porting
Hello,
My name is Gari and I'am trying to port eCos to a Lubbock based platform. Just to make it clear, it's not a Lubbock but it's close to it.
In the HAL StartUp code (vectors.S) I have reached up to "initialize_stub". When I execute this function, the system hangs. If I comment out this line and proceed, the system hangs in "cyg_hal_invoke_constructors". So, I suppose it's a memory map problem.
I use "ROM" or "ROM to RAM" modes to boot up. I can't use "RAM" mode to test it because my platform isn't an original Lubbock platform and redboot binaries don't work.
I know that Intel made available the HAL code for Lubbock some years ago, but I can't find it. After 3 months "talking" to Intel and Montavista I only get some binaries for the original Lubbock but not the sources. So, I've tried to port the most similar platform and I'am working with "NMI micro Engine 250" HAL code.
My platform memory maps are the following:
Real Memory Virtual
Memory (with mmu) ________________________________________________________________________
____________________________
SD RAM 0xA000 0000 Base SD RAM
0x0000 0000 Base
0x0400 0000 Size
0x0400 0000 Size
Boot Flash 0x0000 0000 Base Boot
Flash 0x0400 0000 Base
0x0200 0000 Size
0x0200 0000 Size
Application Flash 0x0400 0000 Base App
Flash 0x1000 0000 Base
0x0200 0000 Size
0x0200 0000 Size
Platform Registers 0x0800 0000 Base Plat
Registers 0x0800 0000 Base
0x0000 0100 Size
0x0000 0100 Size
Ethernet 0x0C00 0000 Base Ethernet
0xA100 0000 Base
0x0010 0000 Size
0x0010 0000 Size
My mmu tables are in RAM memory at address 0xA0000120 in Real memory or 0x00000120 in virtual memory with size 0x00010000.
My "ROM" and "ROM to RAM" memory layouts are identical.
The scheme of these memory layouts:
ram (00000000-03FFFFFF) ________________________________________________________________________
_______________________________
"nothing" mmu_tables fixed_vectors "nothing" data
bss heap1
size 10000
relocated align 4 align 8
________________________________________________________________________
_______________________________
00000120 00002000
rom (04000000-05FFFFFF) read only ________________________________________________________________________
_______________________________
rom_vectors text fini rodata rodata1 fixup
gcc_excep_table data
size 10000 align 4 align 4 align 4 align 4 align 4
align 4
________________________________________________________________________
_______________________________
04000000
Anyone knows what could be going on? Any help is greatly appreciated.
Thanks in advance!
Gari
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss
mailing list