This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Some questions on eCos 2.0
- From: Gary Thomas <gthomas at redhat dot com>
- To: Paul Randall <prandall at delta-info dot com>
- Cc: eCos Discussion <ecos-discuss at sources dot redhat dot com>
- Date: 01 Jun 2002 06:35:42 -0600
- Subject: Re: [ECOS] Some questions on eCos 2.0
- References: <3CF68AEF.CDAB34E0@delta-info.com>
On Thu, 2002-05-30 at 14:26, Paul Randall wrote:
> Hi all,
>
> Thanks for the quick response on my last post.
>
> Today, I downloaded the Configuration Tool Version 2.08. I think this
> is the most recent Configuration Tool, although the date in the
> changes.txt file is 10/25/01. I also did a CVS update before trying to
> build eCos. The eCos library built without any errors and I didn't see
> any warnings, either. When I tried to build the tests, however, I get
> the following error:
>
> powerpc-eabi-gcc -c
> -I/ecos-c/cygwin/src/ecos2a/ecos/vipernet_install/include
> -I/ecos-c/cygwin/src/ecos2a/ecos/packages/io/fileio/current
> -I/ecos-c/cygwin/src/ecos2a/ecos/packages/io/fileio/current/src
> -I/ecos-c/cygwin/src/ecos2a/ecos/packages/io/fileio/current/tests -I.
> -I/ecos-c/cygwin/src/ecos2a/ecos/packages/io/fileio/current/tests/
> -msoft-float -mcpu=860 -Wall -Wpointer-arith -Wstrict-prototypes
> -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections
> -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority
> -Wp,-MD,tests/socket.tmp -o tests/socket.o
> /ecos-c/cygwin/src/ecos2a/ecos/packages/io/fileio/current/tests/socket.c
>
> powerpc-eabi-gcc -msoft-float -mcpu=860 -g -nostdlib -Wl,--gc-sections
> -Wl,-static -L/ecos-c/cygwin/src/ecos2a/ecos/vipernet_install/lib
> -Ttarget.ld -o
> /ecos-c/cygwin/src/ecos2a/ecos/vipernet_install/tests/io/fileio/current/tests/socket
> tests/socket.o
> /ecos-c/cygwin/src/ecos2a/ecos/vipernet_install/lib/libtarget.a(net_common_bootp_support.o):
> In function `init_net':
> make[1]: Leaving directory
> `/ecos-c/cygwin/src/ecos2a/ecos/vipernet_build/io/fileio/current'
> /ecos-c/cygwin/src/ecos2a/ecos/packages/net/common/current/src/bootp_support.c:508:
> undefined reference to `setdomainname'
> make: Leaving directory `/ecos-c/cygwin/src/ecos2a/ecos/vipernet_build'
> /ecos-c/cygwin/src/ecos2a/ecos/packages/net/common/current/src/bootp_support.c:512:
> undefined reference to `cyg_dns_res_init'
> collect2: ld returned 1 exit status
> make[1]: ***
> [/ecos-c/cygwin/src/ecos2a/ecos/vipernet_install/tests/io/fileio/current/tests/socket]
> Error 1
> make: *** [tests] Error 2
>
How did you configure this? I just tried this, using these steps, and
it worked perfectly (from the latest anonymous CVS sources).
% ecosconfig new viper new_net
% ecosconfig tree
% make; make tests
Note that others have complained of problems with the DNS code and
anonCVS. I've not been able to reproduce that here, but if you are
having trouble (i.e. an incomplete .../packages/net/... tree), try
updating your CVS using a snapshot.
> I am also confused about the FreeBSD and OpenBSD networking stacks in
> eCos 2.0. When I select the 'net' template, the OpenBSD package appears
> inside the 'Basic networking support' package. When I select the
> 'new_net' template, the FreeBSD package appears inside the 'Basic
> networking support' package. Some of the options in the Basic
> Networking Framework are the same as some options in the Free/OpenBSD
> package. For example, if I have INET support seleted in both places,
> will this cause problems or do I have to deselect one of these? Also,
> there is the option to build network tests in both places. Will this
> build two sets of network tests or build the same set twice?
>
No, the two stacks are mutually exclusive (the CDL is supposed to keep
you from including them both). The reason for the seemingly confused
handling was to keep old applications from breaking when we introduced
a totally new [replacement] stack.
> I noticed that the eCos 2.0 repository has a directory of RedBoot
> images. Can I use these to update my viper without rebuilding RedBoot
> myself? I'm a little nervous about updating the flash on my viper
> because I have no method of recovering if things go wrong. It would
> give me some confidence if I flashed the viper with a RedBoot
> configuration that had been tested already. Also, are the RedBoot
> images up to date?
We try to keep them up to date and the ones posted have been tested in
our test farm facility. In the case of the Viper, I'd suggest
using those images to update your board (*HIGHLY* recommended).
Since you are running an older version, you'll need to follow these
steps (outlined in the documentation, but reproduced here for clarity):
* Boot the Viper, with RedBoot running in ROM
* Load a RAM based version (the latest from the repository). The safest
way would be using Y-modem serial download.
RedBoot> lo -m ym
Entry point: 0x00040100, address range: 0x00040000-0x00061af8
xyzModem - CRC mode, 3102(SOH)/0(STX)/0(CAN) packets, 3 retries
* Run the RAM based RedBoot
RedBoot> go 0x40100
+Ethernet eth0: MAC address 08:00:3e:28:7a:b8
IP: 192.168.1.30, Default server: 192.168.1.101, DNS server IP: 0.0.0.0
RedBoot(tm) bootstrap and debug environment [RAM]
Non-certified release, version UNKNOWN - built 06:08:01, Jun 1 2002
Platform: A&M VIPER (PowerPC 860)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
RAM: 0x00000000-0x00800000, 0x0006fdf8-0x007e1000 available
FLASH: 0xfe000000 - 0xfe100000, 16 blocks of 0x00010000 bytes each.
RedBoot>
* Load the new ROMRAM based RedBoot, again using Y-modem.
RedBoot> mf -b 0x100000 -l 0x30000
RedBoot> lo -m ym -b 0x100000
Address offset = 0x00100000
Entry point: 0x00000100, address range: 0x00000000-0x000241c8
xyzModem - CRC mode, 3211(SOH)/0(STX)/0(CAN) packets, 4 retries
* Reinitialize the FLASH layout.
RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
Warning: device contents not erased, some blocks may not be usable
... Erase from 0xfe0f0000-0xfe100000: .
... Program from 0x007ef000-0x007ff000 at 0xfe0f0000: .
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0xFE000000 0xFE000000 0x00020000 0x00000000
RedBoot config 0xFE0E0000 0xFE0E0000 0x00001000 0x00000000
FIS directory 0xFE0F0000 0xFE0F0000 0x00010000 0x00000000
* Reprogram RedBoot in FLASH
RedBoot> fi cr RedBoot -b 0x100000
An image named 'RedBoot' exists - continue (y/n)? y
* CAUTION * about to program 'RedBoot'
at 0xfe000000..0xfe01ffff from 0x00100000 - continue (y/n)? y
... Erase from 0xfe000000-0xfe020000: ..
... Program from 0x00100000-0x00120000 at 0xfe000000: ..
... Erase from 0xfe0f0000-0xfe100000: .
... Program from 0x007ef000-0x007ff000 at 0xfe0f0000: .
* Reset - you are now running the latest ROMRAM version of RedBoot
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss