Greth Driver Implementation

Ángel González angel.gonzalez at
Tue May 27 12:52:43 UTC 2014


I think I have solved the problem, I solved it removin the <stdlib.h> 
include in the driver files. However now the program throws a 0x07 trap 
( Mem address not aligned). It throws it randomly. The same binary 
sometimes throws it some time it does not. Do you know how can I solve it?

Thank you,

El 26/05/14 18:18, Daniel Hellstrom escribió:
> Hello,
> I'm not sure what the problem is, however I remember that the GRETH 
> driver PHY initialization was updated quite recently in a RCC release 
> based on RTEMS-4.10.2.
> Best Regards,
> Daniel Hellstrom
> Software Section Head
> Aeroflex Gaisler AB
> Aeroflex Microelectronic Solutions – HiRel
> Kungsgatan 12
> SE-411 19 Gothenburg, Sweden
> Phone: +46 31 7758657
> daniel at
> On 05/26/2014 12:10 PM, Ángel González wrote:
>> Hello,
>> I am doing a program that runs RTEMS 4.8.0 (due to proyect 
>> restrictions I can't change to a newer version) on a LEON3 (sparc 
>> arch). It uses the Greth driver. The problem I had is that when I try 
>> to run the software in a HW with a 88E1111 PHY chip I have no 
>> problem, however when I try to run on a HW with a LAN83C185 PHY chip 
>> I get a "greth: cannot read mii".
>> So I tried the greth driver example from the grlib source, which 
>> works. Then I try to adapt the RTEMS' driver to the GRLIB driver I 
>> got it working in a pretty simple RTEMS program. However when I put 
>> it on a more complex one, the program get stuck in the interrupt 
>> handler (which I did not modified). The function call trace is:
>> %pc %sp
>> #0 0x40025dc4 0x43f83f80 <_Internal_error_Occurred+0x3c>
>> #1 0x40023ea8 0x43f83fe8 <rtems_semaphore_obtain+0xd4>
>> #2 0x40042d1c 0x43f84058 <rtems_termios_write+0x18>
>> #3 0x4003a498 0x43f840c0 <rtems_io_write+0x48>
>> #4 0x400390b0 0x43f84128 <device_write+0x30>
>> #5 0x4004d2e8 0x43f841a8 <write+0x7c>
>> #6 0x4004443c 0x43f84210 <fflush+0x98>
>> #7 0x4004ae38 0x43f84278 <__sfvwrite_r+0x3c0>
>> #8 0x40045654 0x43f842e0 <_puts_r+0x4c>
>> #9 0x4000aba4 0x43f84368 <greth_interrupt_handler+0x10>
>> Since it can be an issue due to my modifications I tried to compile 
>> the original greth driver and attach it to my software, but it still 
>> fail (In the same function). I don't know what is wrong since I am 
>> using the same code the RTEMS used. The compile options for the 
>> driver are:
>> -D__INSIDE_RTEMS_BSD_TCPIP_STACK__ -O0 -g -pedantic -Wall 
>> -msoft-float -c -fmessage-length=0 -B/.../sparc-rtems4.8/leon3/lib 
>> -specs bsp_specs -qrtems -v
>> And then I link my main program with the .o files and change the 
>> driver attach function for my driver's attach function's name.
>> Does anyone have any clue about what is going on?
>> Thank you in advance,
>> Angel
>> _______________________________________________
>> rtems-users mailing list
>> rtems-users at

More information about the users mailing list