netdemo and cs8900a problems

Chris Johns chrisj at rtems.org
Mon May 29 23:19:25 UTC 2006


Denny.Bai wrote:
> Thank you for your help.
> i have already set the interrupt controller  regeisters properly and
> provided the interrupt services in the right position  following your
> suggestion.
> now, the board can  respond  ping cmd. How exciting!

Excellent.

> but there are also some mistakes . if i telnet to the board,
> do_data_abort function will occur   in the ip_input function or in the
> (*inetsw[ip_protox[ip->ip_p]].pr_input)
> function-----------udp_input(in the udp_userreq.c file).
> 
> 
> /****************ip_input.c**********************************/
> (     * Switch out to protocol's input routine.
>      */
> 573:    ipstat.ips_delivered++;
> 
> 574:    (*inetsw[ip_protox[ip->ip_p]].pr_input)(m, hlen);
> /***************error occurs  here**************/
> 575:    return;
> )
> 
> /****************ip_input.c**********************************/
> 
> 
> 
> /*******************************udp_userreq.c**********************************/ 
> 
> 
> 162:    if (uh->uh_sum) {
> 163:        ((struct ipovly *)ip)->ih_next = 0;/*********error occurs 
> here********/
> 164:        ((struct ipovly *)ip)->ih_prev = 0;
> 165:        ((struct ipovly *)ip)->ih_x1 = 0;
> 166:        ((struct ipovly *)ip)->ih_len = uh->uh_ulen;
> 167:        uh->uh_sum = in_cksum(m, len + sizeof (struct ip));
> 168:        if (uh->uh_sum) {
> 169:            udpstat.udps_badsum++;
> 170:            m_freem(m);
> 171:            return;

Which line ?

Is it a checksum error ? I wonder if an ARM person has any idea.

Regards
Chris



More information about the users mailing list