Greth Driver Implementation

Daniel Hellstrom daniel at
Mon May 26 16:18:21 UTC 2014


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