[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