免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4266 | 回复: 17
打印 上一主题 下一主题

[CS8900]NFS配完后出现问题. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-29 13:43 |只看该作者 |倒序浏览
之前使用网线能ping通 如果只mount PC机上的一个文件夹没有任何错误.

之后使用NFS配完的文件系统做根,启动后在

eth0: Transmit buffer not free!
4到5个后,成功进入文件系统.

Freeing init memory: 92K
eth0: Transmit buffer not free!
eth0: Transmit buffer not free!
eth0: Transmit buffer not free!
eth0: Transmit buffer not free!
eth0: Transmit buffer not free!
eth0: Transmit buffer not free!
linuxrc start......
re-mount root file system.
mount /proc as proc
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
mount /mnt/yaffs as yaffs !
eth0: Transmit buffer not free!
mount /proc/bus/usb as usbdevfs
init started: BusyBox v1.7.4 (2007-12-24 11:30:29 CST)
starting pid 284, tty '': '/etc/init.d/rcS'
starting pid 286, tty '': '/etc/rc.local'

Please press Enter to activate this console.

起初也没在意,仍然在做CAN驱动的测试,因为该驱动以至报:CPU schedule .atomic类似这样的错误,所以没运行完.就死那了
直到把这个错误调过去了,测试运行完了才发现又有下列错误了:

NETDEV WATCHDOG: eth0: transmit timed out
NETDEV WATCHDOG: eth0: transmit timed out
NETDEV WATCHDOG: eth0: transmit timed out
nfs: server 192.192.1.200 not responding, still trying 没响应? 能ping通也可以随意在NFS的文件系统里添加文件.
板子又死在这儿了...

上网搜了搜大多是关于X86的改方法,对于ARM的还是一个移植的帖子,是移植失败ping不通报的,那我的开始能ping通,用板子里烧好的文件系统也没什么问题,用了NFS后才出来的.
请达人指导一下这到底怎么一回事儿啊.

论坛徽章:
0
2 [报告]
发表于 2008-07-29 13:51 |只看该作者
can驱动调过去了?
我之前帮你测试驱动时也出现这个错误,应该不是nfs配置的原因。不过我倒是没有出现eth0: Transmit buffer not free!

论坛徽章:
0
3 [报告]
发表于 2008-07-29 13:56 |只看该作者

回复 #2 sep 的帖子

恩,初步算是调过去了吧,:-)
void mcp_wTxbuf(void)
{
        printk("now get into the mcp_wTxbuf.\n");
        U8 pt[13] = {};
        U8 intx=0,dz=0,idx=0;
/*        if(down_interruptible(&stCan.mux_spibus)){
                 return;// -ERESTARTSYS
        }
*/
我把第1个锁注释掉了,对于锁的用法不是很清楚,它在CAN_write()里调用完了,好象犯了LDD3里加锁的一个错误.我去查查那错误确切叫啥来着~


老大
mcp_wTxbuf(void)在CAN_Isr()那有调用,再就是CAN_write()里,CAN_write()已经加好了控制锁,我就在你说的那个mcp_wTxbuf()里的memcpy里加了个sema,然后就过去了.

[ 本帖最后由 jn200002 于 2008-7-29 14:08 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-07-29 14:01 |只看该作者
我查了一下,听别人说是cs89x0.c的问题
刚刚看了一下,发现这个定义:static unsigned int cs8900_irq_map[] = {10,11,12,5};
不知道是不是和can的irq中断号冲突了

论坛徽章:
0
5 [报告]
发表于 2008-07-29 14:18 |只看该作者
原帖由 jn200002 于 2008-7-29 13:56 发表
恩,初步算是调过去了吧,
void mcp_wTxbuf(void)
{
        printk("now get into the mcp_wTxbuf.\n";
        U8 pt[13] = {};
        U8 intx=0,dz=0,idx=0;
/*        if(down_interruptible(&stCan.mux_spibus)){
                 retur ...

过去就好了
利用了一点时间看了一点can的协议,好复杂
大四的时候不知死活,还想着自己动手写个sja1000(也是can控制器)的驱动,结果可想而知

论坛徽章:
0
6 [报告]
发表于 2008-07-29 14:19 |只看该作者
恩,我找一下,这个文件.
can.c中
define IRQ_CAN                                IRQ_EINT10
kernel/include/asm/arch/irqs.h中
#define IRQ_EINT10  S3C2410_IRQ(38)

这冲突么?

论坛徽章:
0
7 [报告]
发表于 2008-07-29 14:22 |只看该作者
看你的cs8900用的是哪个IRQ_EINT?

论坛徽章:
0
8 [报告]
发表于 2008-07-29 14:24 |只看该作者

回复 #5 sep 的帖子

老大~ 实话讲如果真逼着让你写,你能写不出来么~? 安慰我~

主要我连代码时序跟数据流看到现在都没弄明白,我就不用谈想去写它了~ 啥时候能看懂了协议跟代码啊...

论坛徽章:
0
9 [报告]
发表于 2008-07-29 14:36 |只看该作者

回复 #8 jn200002 的帖子

没。就算写得出来,调试的时候也会调死人
你有数电基础吗?如果有的话,应该时序、数据流不成问题

论坛徽章:
0
10 [报告]
发表于 2008-07-29 14:39 |只看该作者

回复 #7 sep 的帖子

这个中断去哪找啊?在cs89x0.c里没有 cs890x.h也没有,2.6.8.1下mach-s3c2410/也没devs.c 没resource这个结构
我在原理图上找到的是EINT9

[ 本帖最后由 jn200002 于 2008-7-29 14:41 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP