I build vxWorks 6.6 image with the BSP given by the Windriver for
some MIPS processor. When I load it and call ipcom_drv_eth_init()
gives TLB exception. Any idea, which componenet I am missing? It
happens in semTake(). Below are the network related connfigs.
#define INCLUDE_IPNET
#define INCLUDE_NETWORK
#define INCLUDE_NET_INIT
#define INCLUDE_COMMON_NET
thanks,
MB.
> Hi,
>
> I build vxWorks 6.6 image with the BSP given by the Windriver for
> some MIPS processor.
Which MIPS processor, specifically? (It would be nice to know that,
since that would also tell us what network interface driver you're
trying to use.)
> When I load it and call ipcom_drv_eth_init()
> gives TLB exception. Any idea, which componenet I am missing? It
> happens in semTake(). Below are the network related connfigs.
> #define INCLUDE_IPNET
> #define INCLUDE_NETWORK
> #define INCLUDE_NET_INIT
> #define INCLUDE_COMMON_NET
>
> thanks,
> MB.
_How_ are you calling ipcom_drv_eth_init()? What arguments are you
passing it? And what kind of image are you using? (Specifically, are
you using vxWorks or vxWorks.st?) Ideally, you should capture the
console output from when you call ipcom_drv_eth_init() from the shell
so that we can see the actual failure instead of having to rely on
your abridged summary.
ipcom_drv_eth_init() takes 3 arguments: the driver name, unit number
and flags. Flags is usually 0. Here's an example of how I would use it
to attach a second interface on a target with two qefcc ports:
Loading... 1253672 + 237964
Starting at 0x10000...
Adding 5173 symbols for standalone.
VxWorks
Copyright 1984-2007 Wind River Systems, Inc.
CPU: Freescale MPC8323 RDB
Runtime Name: VxWorks
Runtime Version: 6.6
BSP version: 2.0/0
Created: Mar 19 2008, 13:50:00
ED&R Policy Mode: Deployed
WDB Comm Type: WDB_COMM_END
WDB: Ready.
-> ipcom_drv_eth_init("qefcc", 1, 0)
value = 0 = 0x0
-> muxShow
Device: qefcc Unit: 0 END_OBJ: 0x592b20
Description: Freescale UCC VxBus END Driver
Protocol: Wind Debug Agent Type: 0x0101 Recv 0xcfcec Shutdown 0x0
TxRestart 0x0
Protocol: IPSTACK IPv4 Type: 0x0800 Recv 0x13bbb0 Shutdown 0xedecc
TxRestart 0x13bce4
Protocol: IPSTACK ARP Type: 0x0806 Recv 0x13bbb0 Shutdown 0xedecc
TxRestart 0x0
Protocol: IPSTACK RARP Type: 0x8035 Recv 0x13bbb0 Shutdown 0xedecc
TxRestart 0x0
Protocol: IPSTACK PPPOE DIS Type: 0x8863 Recv 0x13bbb0 Shutdown
0xedecc TxRestart 0x0
Protocol: IPSTACK PPPOE SES Type: 0x8864 Recv 0x13bbb0 Shutdown
0xedecc TxRestart 0x0
Device: qefcc Unit: 1 END_OBJ: 0x593c50
Description: Freescale UCC VxBus END Driver
Protocol: IPSTACK IPv4 Type: 0x0800 Recv 0x13bbb0 Shutdown 0xedecc
TxRestart 0x13bce4
Protocol: IPSTACK ARP Type: 0x0806 Recv 0x13bbb0 Shutdown 0xedecc
TxRestart 0x0
Protocol: IPSTACK RARP Type: 0x8035 Recv 0x13bbb0 Shutdown 0xedecc
TxRestart 0x0
Protocol: IPSTACK PPPOE DIS Type: 0x8863 Recv 0x13bbb0 Shutdown
0xedecc TxRestart 0x0
Protocol: IPSTACK PPPOE SES Type: 0x8864 Recv 0x13bbb0 Shutdown
0xedecc TxRestart 0x0
Device: qefcc Unit: 2 END_OBJ: 0x594e10
Description: Freescale UCC VxBus END Driver
value = 0 = 0x0
-> ifconfig "qefcc1 10.0.1.2 netmask 255.255.255.0 up"
value = 0 = 0x0
-> ifconfig "-a"
lo0 Link type:Local loopback Queue:none
inet 127.0.0.1 mask 255.255.255.255
UP RUNNING LOOPBACK MULTICAST
MTU:1500 metric:1 VR:0 ifindex:1
RX packets:4 mcast:0 errors:0 dropped:1
TX packets:4 mcast:0 errors:0
collisions:0 unsupported proto:0
RX bytes:172 TX bytes:172
qefcc0 Link type:Ethernet HWaddr 00:a0:1e:01:02:03 Queue:none
inet 147.11.46.191 mask 255.255.255.0 broadcast
147.11.46.255
UP RUNNING SIMPLEX BROADCAST MULTICAST
MTU:1500 metric:1 VR:0 ifindex:2
RX packets:17 mcast:14 errors:0 dropped:0
TX packets:1 mcast:0 errors:0
collisions:0 unsupported proto:0
RX bytes:2722 TX bytes:42
qefcc1 Link type:Ethernet HWaddr 00:a0:1e:04:05:06 Queue:none
inet 10.0.1.2 mask 255.255.255.0 broadcast 10.0.1.255
UP RUNNING SIMPLEX BROADCAST MULTICAST
MTU:1500 metric:1 VR:0 ifindex:3
RX packets:0 mcast:0 errors:0 dropped:0
TX packets:1 mcast:0 errors:0
collisions:0 unsupported proto:0
RX bytes:0 TX bytes:42
value = 0 = 0x0
-> ping "10.0.1.1", 3
Pinging 10.0.1.1 (10.0.1.1) with 64 bytes of data:
Reply from 10.0.1.1 bytes=64 time=0ms ttl=64
Reply from 10.0.1.1 bytes=64 time=0ms ttl=64
Reply from 10.0.1.1 bytes=64 time=0ms ttl=64
--- 10.0.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 3000 ms
rtt min/avg/max = 0/0/0 ms
value = 0 = 0x0
->
This image has the INCLUDE_IFCONFIG, INCLUDE_SHELL and INCLUDE_PING
components.
(The reason I asked about vxWorks.st is that if you build a standalone
image, it won't start up networking automatically. This is a debugging
aid: if there's a problem in the stack or driver that causes an
exception, tRootTask will crash before starting the target shell. With
vxWorks.st, the network startup step is skipped and the target shell
is spawned right away. From the shell, you can finish network
initialization by doing:
-> sp usrNetInit
If there is a bug somewhere, you may still get an exception, but now
it will happen in a separate task, and you'll be able to do some
debugging on it from the target shell.
The important point though is that you can't call ipcom_drv_eth_init()
until the rest of the stack is initialized, so if you're using
vxWorks.st, make sure you do usrNetInit() first before you call
ipcom_drv_eth_init() to add a second interface.)
-Bill