This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: App works in RAM but not in flash memory
- To: eCos Disuss <ecos-discuss at sources dot redhat dot com>
- Subject: Re: [ECOS] App works in RAM but not in flash memory
- From: Fano Ramparany <Fano dot Ramparany at rd dot francetelecom dot fr>
- Date: Mon, 20 Aug 2001 16:29:16 +0200
- CC: Jonathan Larmour <jlarmour at redhat dot com>, Daniel Andersson <Daniel dot Andersson at combitechsystems dot com>
- Organization: France Telecom
- References: <3B7CE9E6.C6443963@rd.francetelecom.fr> <3B7D6268.65222C3C@redhat.com>
- Reply-To: Fano dot Ramparany at rd dot francetelecom dot fr
(with the attachments this time... sorry)
Jonathan Larmour wrote:
> Fano Ramparany wrote:
>
> > My application uses the TCP/IP stack, and used to work (even under ROM
> > startup, but
> > with apparently some time out problems (see. a previous thread in the
> > mailing list
> > under subject "TCP/IP and rom startup mode")), until a major
> > reconfiguration of our intranet.
> > (incl. a change in our IP address). Now even the ping_test doesn't work
> > in ROM startup mode, although
> > it works ok in RAM startup mode (using gdb).
> >
> My guess is it's something to do with the eth driver initialization.
> Perhaps the MAC address was set in the redboot config before.
>
Yes I used fconfig to set it (I've attached the current parameters below).
Curiously, it seems that init_all_network_interfaces doesn't take into
account the setup of the "ethernet station address" done with
ecos configuration tool (see hw_addr value in the second attachment)
either under RAM or ROM startup modes.
If the MAC address should not be set for the ip stack to work properly,
do you know how I can unset it?
>
> You could see if it also fails for RAM startup if you enabled the
> "CLAIM_COMMS" virtual vector option in the HAL config.
I've just done the test with CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
macro enabled under RAM startup mode, and ping_test runs just fine.
Fano
+
RedBoot(tm) debug environment - built 14:11:28, Oct 26 2000
Platform: Cirrus Logic EDB7212 (ARM 720T)
Copyright (C) 2000, Red Hat, Inc.
RAM: 0x00000000-0x00fd7000
FLASH: 0xe0000000 - 0xe1000000, 128 blocks of 0x00020000 bytes ea.
IP: 10.194.6.24, Default server: 10.194.11.11
RedBoot> fconf
Run script at boot: false
Use BOOTP for network configuration: false
Local IP address: 10.194.6.24
Default server IP address: 10.194.11.11
Network hardware address [MAC]: 0x00:0x11:0x11:0x11:0x11:0x00
GDB connection port: 9000
Network debug at boot time: false RedBoot>
(gdb) source connect
0xe0003d24 in ?? ()
Loading section .rom_vectors, size 0x40 lma 0x20000
Loading section .text, size 0x32704 lma 0x20040
Loading section .rodata, size 0x1cba lma 0x52744
Loading section .data, size 0x11e4 lma 0x54400
Start address 0x20040 , load size 218594
Transfer rate: 27324 bits/sec, 306 bytes/write.
(gdb) cont
Continuing.
Network stack using 65536 bytes for misc space
65536 bytes for mbufs
131072 bytes for mbuf clusters
Start PING test
BOOTP[eth0] op: REPLY
htype: Ethernet
hlen: 6
hops: 0
xid: 0x0
secs: 0
flags: 0x0
hw_addr: FF:FF:FF:FF:FF:FF
client IP: 10.194.6.24
my IP: 10.194.6.24
server IP: 10.194.11.11
gateway IP: 10.194.6.5
options:
subnet mask: 255.255.255.0
IP broadcast: 10.194.6.255
gateway: 10.194.6.5
PING server 10.194.11.11
...