This is the mail archive of the
ecos-devel@sources.redhat.com
mailing list for the eCos project.
Re: eCos for Renesas EDOSK-2674
- From: Jonathan Larmour <jifl at eCosCentric dot com>
- To: Uwe Kindler <ukindler at htwm dot de>
- Cc: ecos-devel at sources dot redhat dot com
- Date: Mon, 16 Feb 2004 20:51:40 +0000
- Subject: Re: eCos for Renesas EDOSK-2674
- References: <000701c3c60c$55aa7ed0$2c79378d@uwepc> <40299631.8050703@eCosCentric.com> <001701c3f493$18c66190$2c79378d@uwepc>
Hi Uwe,
Uwe Kindler wrote:
Have you got any closer to the point when you feel you could contribute it
back officially? I see you're still activiely developing it, but I don't
have a feel for whether you think it's done yet.
Status of EDOSK-2674 port.
Last week the port passed the eCos test suite. A protocol of all executed
tests is available on my homepage
http://www.htwm.de/ukindler/ecos or directly here
http://www.htwm.de/~ukindler/ecos/ecos_test_protocol.htm
The tests (execept the dhrystone, tm_basic and serial tests) where executed
with assertions enabled. No alignment errors, stack violations or any other
assertion failures occured. So the port seems to be quite stable now and the
patched toolchain seems to work well.
The documentation is not finished and the ethernet drivers are not tested
(eCos tests for ethernet drivers have not been executed) but console output
and debugging over TCP/IP with RedBoot works fine so the driver seems to be
o.k.
That's okay. I'm not pressuring at all, I was just partly curious, and
partly just checking whether it was done and ready to go in :-).
In order to use the port the toolchain from my homepage is required. The
latest patches from Yoshinori Sato and from me have been applied in order to
enable building of math library.
We should do something to make sure toolchain patches needed by this port
are recorded somewhere - probably checked in to a "misc" directory in the
hal arch package.
I created an additional patch wich
introduces a new compiler switch -mecos. This switch forces an alignment of
all one- and multidimensional arrays with an alignment < 4 byte to a 4 byte
boundary. This is required in order to avoid problems with char arrays used
as thread stacks (like the idle thread stack).
In the current sources, things like the idle thread stack are defined as:
static char
idle_thread_stack[CYGNUM_KERNEL_CPU_MAX][CYGNUM_KERNEL_THREADS_IDLE_STACK_SIZE]
CYGBLD_ATTRIB_ALIGN(CYGARC_ALIGNMENT);
The last bit maps to __attribute__((align(CYGARC_ALIGNMENT))).
Perhaps the real problem is that gcc isn't implementing
__attribute__((align(X))) correctly? There shouldn't be a need for a
special switch.
If you think you're close to contributing it back to the eCos source base
we'd just need to get a copyright assignment
I sent the signed copyright assignment to eCosCentric today.
Excellent thanks. That was the bit I was most concerned about getting out
of the way! Getting the disclaimer part signed by an employer can be a
struggle sometimes.
Jifl
--
eCosCentric http://www.eCosCentric.com/ The eCos and RedBoot experts
Visit us at Embedded World 2004, Nürnberg, Germany, 17-19 Feb, Stand 12-449
--["No sense being pessimistic, it wouldn't work anyway"]-- Opinions==mine