public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] exec vmlinux from redboot
@ 2005-08-12  4:17 Jon Ringle
  2005-08-12 13:44 ` Gary Thomas
  0 siblings, 1 reply; 3+ messages in thread
From: Jon Ringle @ 2005-08-12  4:17 UTC (permalink / raw)
  To: ecos-discuss

Hi,

I'm working on porting eCos/Redboot to our platform. I used as a template for
the port the edb7xxx platform. I managed to get the flash on my platform
working (Intel 28F160B3) and got the ethernet operational.

Now I am trying to load a linux kernel and have run into a snag. It seems that
the execution goes into do_exec() ok, but something goes wrong in the
trampoline code at the end of do_exec(), since I get no further output.
Below is a sample session. Does anyone have any ideas on how to troubleshoot
this?

Thanks,

Jon

CS8900A[0x40000300] - type: 0x630e, rev: 0x0800
CS8900 - status: 0x02d6 (EEPROM present)
Got EEPROM ESA
ESA 08:88:12:34:56:78
Ethernet eth0: MAC address 08:88:12:34:56:78
IP: 172.22.64.253/255.255.0.0, Gateway: 172.22.0.1
Default server: 172.22.0.1

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 22:19:08, Aug 11 2005

Platform: Comdial MP1000 (ARM 720T)
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

RAM: 0x00000000-0x00fd7000, [0x0000cae0-0x00fb4000] available
FLASH: 0xe0000000 - 0xe0800000, 32 blocks of 0x00020000 bytes each.
RedBoot> load -h 172.22.64.255 vmlinux
Using default protocol (TFTP)
Type: 2, Machine: 40, Version: 1, Entry: 0xc0038000, PHoff: 0x00000034/32/1, SHoff: 0x0014f8a8/40/9
Program header: type: 1, off: 0x00008000, va: 0xc0038000, pa: 0xc0038000, len: 1332020/1816488, flags: 7
Entry point: 0xc0038000, address range: 0xc0038000-0xc017d334
RedBoot> exec
Using base address 0xc0038000 and length 0x00145334

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ECOS] exec vmlinux from redboot
  2005-08-12  4:17 [ECOS] exec vmlinux from redboot Jon Ringle
@ 2005-08-12 13:44 ` Gary Thomas
  2005-08-12 14:13   ` Jon Ringle
  0 siblings, 1 reply; 3+ messages in thread
From: Gary Thomas @ 2005-08-12 13:44 UTC (permalink / raw)
  To: ml.ecos; +Cc: eCos Discussion

On Fri, 2005-08-12 at 00:16 -0400, Jon Ringle wrote:
> Hi,
> 
> I'm working on porting eCos/Redboot to our platform. I used as a template for
> the port the edb7xxx platform. I managed to get the flash on my platform
> working (Intel 28F160B3) and got the ethernet operational.
> 
> Now I am trying to load a linux kernel and have run into a snag. It seems that
> the execution goes into do_exec() ok, but something goes wrong in the
> trampoline code at the end of do_exec(), since I get no further output.
> Below is a sample session. Does anyone have any ideas on how to troubleshoot
> this?
> 
> Thanks,
> 
> Jon
> 
> CS8900A[0x40000300] - type: 0x630e, rev: 0x0800
> CS8900 - status: 0x02d6 (EEPROM present)
> Got EEPROM ESA
> ESA 08:88:12:34:56:78
> Ethernet eth0: MAC address 08:88:12:34:56:78
> IP: 172.22.64.253/255.255.0.0, Gateway: 172.22.0.1
> Default server: 172.22.0.1
> 
> RedBoot(tm) bootstrap and debug environment [ROM]
> Non-certified release, version UNKNOWN - built 22:19:08, Aug 11 2005
> 
> Platform: Comdial MP1000 (ARM 720T)
> Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
> 
> RAM: 0x00000000-0x00fd7000, [0x0000cae0-0x00fb4000] available
> FLASH: 0xe0000000 - 0xe0800000, 32 blocks of 0x00020000 bytes each.
> RedBoot> load -h 172.22.64.255 vmlinux
> Using default protocol (TFTP)
> Type: 2, Machine: 40, Version: 1, Entry: 0xc0038000, PHoff: 0x00000034/32/1, SHoff: 0x0014f8a8/40/9
> Program header: type: 1, off: 0x00008000, va: 0xc0038000, pa: 0xc0038000, len: 1332020/1816488, flags: 7
> Entry point: 0xc0038000, address range: 0xc0038000-0xc017d334

How did you even load this into RAM?  The addresses are Linux virtual
addresses (0xCxxxxxxx), but that doesn't correspond to your RAM.  Also,
one normally loads the 'zImage' version, rather than the raw 'vmlinux'

Try loading the binary version (zImage):
  RedBoot> lo -r -b 0x38000 zImage 

> RedBoot> exec
> Using base address 0xc0038000 and length 0x00145334

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ECOS] exec vmlinux from redboot
  2005-08-12 13:44 ` Gary Thomas
@ 2005-08-12 14:13   ` Jon Ringle
  0 siblings, 0 replies; 3+ messages in thread
From: Jon Ringle @ 2005-08-12 14:13 UTC (permalink / raw)
  To: Gary Thomas; +Cc: eCos Discussion

On Friday 12 August 2005 09:43 am, Gary Thomas wrote:
> On Fri, 2005-08-12 at 00:16 -0400, Jon Ringle wrote:
> > CS8900A[0x40000300] - type: 0x630e, rev: 0x0800
> > CS8900 - status: 0x02d6 (EEPROM present)
> > Got EEPROM ESA
> > ESA 08:88:12:34:56:78
> > Ethernet eth0: MAC address 08:88:12:34:56:78
> > IP: 172.22.64.253/255.255.0.0, Gateway: 172.22.0.1
> > Default server: 172.22.0.1
> >
> > RedBoot(tm) bootstrap and debug environment [ROM]
> > Non-certified release, version UNKNOWN - built 22:19:08, Aug 11 2005
> >
> > Platform: Comdial MP1000 (ARM 720T)
> > Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
> >
> > RAM: 0x00000000-0x00fd7000, [0x0000cae0-0x00fb4000] available
> > FLASH: 0xe0000000 - 0xe0800000, 32 blocks of 0x00020000 bytes each.
> > RedBoot> load -h 172.22.64.255 vmlinux
> > Using default protocol (TFTP)
> > Type: 2, Machine: 40, Version: 1, Entry: 0xc0038000, PHoff:
> > 0x00000034/32/1, SHoff: 0x0014f8a8/40/9 Program header: type: 1, off:
> > 0x00008000, va: 0xc0038000, pa: 0xc0038000, len: 1332020/1816488, flags:
> > 7 Entry point: 0xc0038000, address range: 0xc0038000-0xc017d334
>
> How did you even load this into RAM?  The addresses are Linux virtual
> addresses (0xCxxxxxxx), but that doesn't correspond to your RAM.

It loads into RAM because my MMU map has virtual address 0x0 and 0xc0000000
point to the DRAM physical address at 0xc0000000

> Also, 
> one normally loads the 'zImage' version, rather than the raw 'vmlinux'
>
> Try loading the binary version (zImage):
>   RedBoot> lo -r -b 0x38000 zImage

Thanks, I now see the linux 2.6.12 kernel go through the uncompress:

RedBoot> lo -h 172.22.64.255 -r -b 0x38000 zImage
Using default protocol (TFTP)
Raw file loaded 0x00038000-0x001412ab, assumed entry at 0x00038000
RedBoot> exec
Using base address 0x00038000 and length 0x001092ac
Uncompressing Linux.............................................................................. done, booting the kernel.

Of course, now I don't see any further output after this, but now I think this
has become an issue of porting linux to my platform.

Jon

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-08-12 14:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-12  4:17 [ECOS] exec vmlinux from redboot Jon Ringle
2005-08-12 13:44 ` Gary Thomas
2005-08-12 14:13   ` Jon Ringle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).