Exception 6 messages?

Amalaye Oyake amalaye.oyake at jpl.nasa.gov
Tue Mar 20 19:34:59 UTC 2007


Ok ... I seemed to have resolved my NIC issue but now I am getting
"Exception 6" messages. My target is a Dell Dimension XPS R400 that has a
3Com 3c905B-TX NIC ...

The code I am running is: 
~/RTEMS/network-demos-4.6.99.3/tftpTest$ ls
ChangeLog  init.c  Makefile  o-optimize  test.c

The message I am getting is:

Exception 6 caught at PC 7FFFFFD by thread 0
---------------------------------------------------------
Processor execution context at time of the fault was :
EAX = F841F0   EBX = 157700 ECX = 4 EDX = 0
ESI = FFFFFFFF EDI = 157700 EBP = 15A5E8    ESP = 15A5B8
---------------------------------------------------------

Message List comments refer to an invalid instruction or a misguided jump
... My best bet may be to hook up a debugger.


Regards,
Amalaye



-----Original Message-----
From: Daron Chabot [mailto:djc915 at mail.usask.ca] 
Sent: Monday, March 19, 2007 7:35 PM
To: Amalaye Oyake
Cc: Rtems
Subject: Re: List of supported NICs?


On 19-Mar-07, at 6:02 PM, Amalaye Oyake wrote:

> Thanks Daron,
>
> I am running some of the network-demos on a Dell Dimension XPS R400  
> that has
> a 3Com 3c905B-TX NIC ... but the demo code  keeps reporting a  
> dec21140, and
> no network connectivity.
>
> For example I am getting:
>
> dec21140: found device 'dc1', bus 0x00, dev 0x00, func 0x00
> dec2114x: unit 1 base address 00000000.
>
> How does RTEMS select the right NIC? Is it predefined at compile time?

Yup. That's exactly right: the choice of NIC is defined at compile time.

Check out the networkconfig.h file in the network-demos package, as  
well as the RTEMS source file: c/src/lib/libbsp/i386/pc386/include/ 
bsp.h.

It is the latter bsp.h file that is pulling in the definitions for  
the dec21140. As in,

extern int rtems_dec21140_driver_attach(struct rtems_bsdnet_ifconfig  
*, int);
#define BSP_DEC21140_NETWORK_DRIVER_NAME    "dc1"
#define BSP_DEC21140_NETWORK_DRIVER_ATTACH  rtems_dec21140_driver_attach

#ifndef RTEMS_BSP_NETWORK_DRIVER_NAME
#define RTEMS_BSP_NETWORK_DRIVER_NAME  BSP_DEC21140_NETWORK_DRIVER_NAME
#endif

#ifndef RTEMS_BSP_NETWORK_DRIVER_ATTACH
#define RTEMS_BSP_NETWORK_DRIVER_ATTACH  
BSP_DEC21140_NETWORK_DRIVER_ATTACH
#endif

You need to add the proper "defines" to pull in the driver for your  
NIC. For a 3c905 you need to look at the elnk driver in c/src/libchip/ 
network. In particular you'll need to define things like this in  
networkconfig.h:

extern int rtems_elnk_driver_attack(struct rtems_bsdnet_ifconfig *,  
int);
#define RTEMS_BSP_NETWORK_DRIVER_NAME         "elnk"
#define RTEMS_BSP_NETWORK_DRIVER_ATTACH     "rtems_elnk_driver_attach"

HTH

-- dc
  




More information about the users mailing list