天桥陨石分享 http://blog.sciencenet.cn/u/chrujun 让地球物理仪器飞起来

博文

AT91RM9200-Linux2.6.21移植过程中碰到的问题及解决方法(下)

已有 8779 次阅读 2010-6-5 14:48 |个人分类:地球物理及仪器|系统分类:科研笔记| Linux, 移植, AT91, AT91RM9200

AT91RM9200-Linux2.6.21移植过程中碰到的问题及解决方法(下)

仇洁婷, 陈儒军

(5)
由于PQFP封装的AT91RM9200只有一个usb主端口,而usb从端口是不能用。在Linux2-.6.21启动时会有以下错误提示:
usb 1-2: new low speed USB device using at91_ohci and address 2
usb 1-2: device descriptor read/64, error -62
usb 1-2: device descriptor read/64, error -62
usb 1-2: new low speed USB device using at91_ohci and address 3
usb 1-2: device descriptor read/64, error -62
usb 1-2: device descriptor read/64, error -62
usb 1-2: new low speed USB device using at91_ohci and address 4
usb 1-2: device not accepting address 4, error -62
usb 1-2: new low speed USB device using at91_ohci and address 5
usb 1-2: device not accepting address 5, error -62

解决:
在/linux/arch/arm/mach-at91/board-dk.c文件,将usb ports值改为1,则显示有一个usb端口。
static struct at91_usbh_data __initdata dk_usbh_data = {
.ports =1, // 2,
};

(6)
问题描述:在Linux系统启动后,再接入网线时,不能启动网络。但在Linux系统启动前接入网线再启动,则能够启动网络。
解决:
方法一
可以通过超级终端输入
$ ifconfig eth0 down
禁止后再启动
$ ifconfig eth0 up
但是这个方法必须要在超级终端进行手动输入,不实用。

方法二:
这个问题是在于网络驱动的中断引脚与电路图定义的引脚不一样所导致,驱动定义的中断引脚是 PC4,电路图上的中断引脚是 PB29,因此,需要修改驱动定义
/linux-2.6.21/arch/arm/mach-at91/board-dk.c
static struct at91_eth_data __initdata dk_eth_data = {
.phy_irq_pin = AT91_PIN_PC4,
.is_rmii = 1,
};
改为
static struct at91_eth_data __initdata dk_eth_data = {
//.phy_irq_pin = AT91_PIN_PC4,
.phy_irq_pin = AT91_PIN_PB29,
.is_rmii = 1,
};

(7)
Linux系统重启多次后,进入根文件系统出现BUG。
Totlen for ref at c1d83934 (0x002b0000-0x002b000c) miscalculated as 0x0 instead of c
next c1d83940 (0x002b0000-0x002b000c)
jeb->wasted_size 0, dirty_size 0, used_size c, free_size fff4
BUG: at fs/jffs2/nodelist.c:1219 __jffs2_ref_totlen()
JFFS2 error: (1) jffs2_link_node_ref: Adding new ref c1d83940 at (0x002b0000-0x002b0944) not immediately after previous (0x002b0000-0x002b000c)
kernel BUG at fs/jffs2/nodelist.c:1098!
Unable to handle kernel NULL pointer dereference at virtual address 00000000
……
……

解决:
jffs2文件系统在配置上错误所导致的。下面这两条都选上的,去掉后,即可
File systems --->
Miscellaneous filesystems --->
[*] JFFS2 summary support (EXPERIMENTAL)
[*] JFFS2 XATTR support (EXPERIMENTAL)
改为
File systems --->
Miscellaneous filesystems --->
[ ] JFFS2 summary support (EXPERIMENTAL)
[ ] JFFS2 XATTR support (EXPERIMENTAL)



https://blog.sciencenet.cn/blog-39626-332360.html

上一篇:AT91RM9200-Linux2.6.21移植过程中碰到的问题及解决方法(上)
下一篇:适合工业控制的 AT91RM9200微处理器简介
收藏 IP: .*| 热度|

2 申瑞杰 邓景华

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-27 23:26

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部