eCos for Renesas EDOSK-2674

Jonathan Larmour jifl@eCosCentric.com
Mon Feb 16 20:51:00 GMT 2004


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



More information about the Ecos-devel mailing list