打印

AT91SAM9260核心板量产时出问题,紧急求助

[复制链接]
7334|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lshiceman|  楼主 | 2011-10-12 14:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
sam, at91, TE, ST, ic
本帖最后由 lshiceman 于 2011-10-12 16:13 编辑

设计的AT91SAM9260核心板在以前制作的10 PCS样机中没有问题,但在最近的量产中出现不能启动的现象很高。主要表现为:LINUX

操作系统正常启动,但到挂载根文件系统时就停止了。如果用手去摸(有时候用笔也可以)一下CPU的外壳,即继续向下执行下去。
     刚开始怀疑是CPU的问题,所以用10张核心做测试,在这10张板上换上以前批次的CPU后,然后不断地做断电/上电试验,100次测试中都可以启动。后来把这10张板放在恒温箱里进行低温测试(没通电),温度为-20度。做了半小时低温测试再放置8小时后,其中有4块板出现无法启动情况,用到手摸才能继续启动。这CPU是工业级的,应该不会连-20度都受不了吧。SDRAM 用的是两片HY57V561620FTP-H。经过低温后,每个核心板的启动时间有明显的不一致,低温之前是一致的。

     以下是启动信息
DRAM:  64 MB
NAND:  64 MiB
*** Warning - bad CRC or NAND, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0xa0000, size 0x200000
2097152 bytes read: OK

NAND read: device 0 offset 0x2a0000, size 0x900000
9437184 bytes read: OK
## Booting kernel from Legacy Image at 22000000 ...
   Image Name:   Linux-2.6.33
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1742988 Bytes =  1.7 MB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 2.6.33 (root@localhost.localdomain) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) ) #179 Wed Jun 15

15:39:13 CST 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: console=ttyS0,115200 root=/dev/ram0 initrd=0x21100000,0x900000 init=/linuxrc

mtdparts=at91_nand:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) rw
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 52160KB available (3044K code, 225K data, 116K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:192
AT91: 96 gpio irqs in 3 banks
Console: colour dummy device 80x30
console [ttyS0] enabled
Calibrating delay loop... 98.91 BogoMIPS (lpj=494592)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
AT91: Power Management
AT91: Starting after general reset
bio: create slab <bio-0> at 0
SCSI subsystem initialized
Switching to clocksource tcb_clksrc
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (no cpio magic); looks like an initrd
Freeing initrd memory: 9216K
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY)  漏 2001-2006 Red Hat, Inc.
yaffs Jun 10 2011 14:02:36 Installing.
msgmni has been set to 120
alg: No test for stdrng (krng)
io scheduler noop registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
atmel_usart.3: ttyS3 at MMIO 0xfffb8000 (irq = 8) is a ATMEL_SERIAL
atmel_usart.4: ttyS4 at MMIO 0xfffd0000 (irq = 23) is a ATMEL_SERIAL
brd: module loaded
loop: module loaded
nbd: registered device at major 43
ssc ssc.0: Atmel SSC device at 0xc4880000 (irq 14)
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)
Scanning device for bad blocks
Creating 7 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x000000000000-0x000000020000 : "bootstrap"
0x000000020000-0x000000060000 : "uboot"
0x000000060000-0x000000080000 : "env1"
0x000000080000-0x0000000a0000 : "env2"
0x0000000a0000-0x0000002a0000 : "linux"
0x0000002a0000-0x0000007a0000 : "root"
0x0000007a0000-0x000004000000 : "user"
atmel_spi atmel_spi.1: Atmel SPI Controller at 0xfffcc000 (irq 13)
mcp2515 spi1.0: device register at dev(253:0)
bit rate= 50000, BRP = 7, Tbit = 20 TQ, PropSeg = 6, PS1 = 6, PS2 = 7, SJW = 1
macb macb: invalid hw address, using random
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (52:1e:2d:f1:c2:4f)
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:00, irq=-1)
mice: PS/2 mouse device common for all mice
input: gpio-keys as /class/input/input0
i2c /dev entries driver
rtc-pcf8563 0-0051: chip found, driver version 0.4.3
rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
i2c-gpio i2c-gpio: using pins 55 (SDA) and 56 (SCL)
AT91SAM9 Watchdog: sorry, watchdog is disabled
at91_wdt: probe of at91_wdt failed with error -5
Software Watchdog Timer: 0.07 initialized. soft_noboot=0 soft_margin=60 sec (nowayout= 0)
Registered led device: ds6
Registered led device: ds7
Registered led device: ds5
Registered led device: ds3
Registered led device: ds4
TCP cubic registered
NET: Registered protocol family 17
rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
rtc-pcf8563 0-0051: hctosys: unable to read the hardware clock  //到这里停止了

RAMDISK: gzip image found at block 0                            //触碰CPU后才可以继续运行
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 116K
----------mount all
----------Starting mdev......
yaffs: dev is 32505862 name is "mtdblock6"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.6, "mtdblock6"
yaffs_read_super: isCheckpointed 0

相关帖子

沙发
wangkj| | 2011-10-12 15:29 | 只看该作者
去掉ramdisk,直接挂nand当root看行不行。或者降低sdram频率试试。

使用特权

评论回复
板凳
wangkj| | 2011-10-12 15:30 | 只看该作者
这时候,应该加printk或者用ice看看死在那里了。

使用特权

评论回复
地板
wenming| | 2011-10-12 16:20 | 只看该作者
根据我们做核心板5年的经验,你这个最大的问题可能出来晶体或者锁项环那里布线不好.

使用特权

评论回复
5
lshiceman|  楼主 | 2011-10-13 11:46 | 只看该作者
4# wenming

使用特权

评论回复
6
lshiceman|  楼主 | 2011-10-14 12:22 | 只看该作者
这两天做了测试,发现在1103、1104批次的 CPU没有出现这个问题,1108/1109这个问题比较严重,达90%以上。

使用特权

评论回复
7
lshiceman|  楼主 | 2011-10-25 12:30 | 只看该作者
已经解决。
使用2.6.30内核后可以正常启动。但是发现还是有少数几个还是不能正常挂载文件系统。经测试,部分的核心板经过-20度的冷冻后就会出现此种情况,解决办法是在DEBUG串口的RXD引脚上接一个上拉电阻(我的核心板DEBUG串口是悬空的)。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

4

帖子

1

粉丝