SOS,从NAND启动,uboot加载linux 内核报 bad data crc错 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8148|回复: 5
打印 上一主题 下一主题

SOS,从NAND启动,uboot加载linux 内核报 bad data crc错

[复制链接]

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
跳转到指定楼层
楼主
发表于 2015-7-21 12:53:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用创龙核心板加自制的底板,总线上挂接16C554串口芯片,突然出现从nand启动后u-boot加载linux内核时报 bad datacrc错误,掉电重启后可以正常7 k0 C+ c$ M, ~$ c. y' J' \* E

7 x, M0 u% U( y进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:% B+ W, B$ ~$ p9 M

8 }' }1 r' p" M; G" W9 v# y
4 j4 ~# J3 P' rU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)% J4 M  U8 j6 r! R" |4 K; ~; X- e
& q- G. L. M$ `" A
I2C:   ready; f( x1 j, `6 `9 K/ I, @$ l4 v
DRAM:  128 MiB
. t; y8 e2 V$ g# f: a' r* BWARNING: Caches not enabled
4 b1 V5 n* m) w+ b2 \2 O- l/ zNAND:  512 MiB
0 t( N1 |  _5 ^' a% x4 k0 i* VMMC:   davinci: 09 }  X+ K1 n2 E1 o2 _5 ]" Z- Z
Bad block table not found for chip 0( E! O  K- |% X) e1 b" M5 ^2 B
Bad block table not found for chip 0
0 R% D3 \$ d9 i) n: _1 {Bad block table written to 0x00001ffe0000, version 0x01
( }8 Y, q# o% D% @% RBad block table written to 0x00001ffc0000, version 0x013 d0 Y! R. w. S7 [4 k" G
In:    serial
) P. {9 n% A8 bOut:   serial0 w1 `  _: ], V: M& [  ?
Err:   serial7 p8 Q. C6 Q: ^6 ~+ `) ^2 j( `8 L1 @
Default using MAC address from environment; t  ^, |- n! U: s" |6 r& Y
Net:   DaVinci-EMAC& b% F$ Q  R5 Y0 u
Hit any key to stop autoboot:  0
$ C( F) B* w$ P8 g4 b' f8 m
  T9 X# H5 S; N/ VLoading from nand0, offset 0x120000" i0 J5 l) n& o" V- g
   Image Name:   Linux-3.3.0% m4 ]9 M4 |8 g3 y! C9 ?
   Image Type:   ARM Linux Kernel Image (uncompressed)
9 [( L, W: }4 w' `6 F; l   Data Size:    2843400 Bytes = 2.7 MiB
, \- }* x% A( U& W) B/ |- X+ c   Load Address: c0008000" d* A9 x8 D8 K
   Entry Point:  c0008000
+ o" H2 m1 Z7 k' E9 D0 f: S## Booting kernel from Legacy Image at c0700000 ...) v# N& h7 u! N3 H% _" R0 e  p, [
   Image Name:   Linux-3.3.0
. c  |( ]/ b! k4 C: v   Image Type:   ARM Linux Kernel Image (uncompressed)$ l0 w2 \* i# B
   Data Size:    2843400 Bytes = 2.7 MiB
2 o' Y- M6 U0 b/ E   Load Address: c0008000( J6 P/ s& j: x+ V0 a
   Entry Point:  c0008000
* V) R" w7 `7 A$ K6 p1 E' e. o   Verifying Checksum ... Bad Data CRC% p  t. U3 `: h( ^
ERROR: can't get kernel image!
5 ]) U/ \% O" M4 W, p2 uU-Boot > Nand boot..." ]: A0 _* Q9 h4 t0 c8 B

9 r) F0 d" B  B; K* R4 S/ {& R" m0 X3 T9 p; l+ @1 g
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
4 l" Z5 H8 ]+ n: h5 r+ y; Y: m+ F: A. P: C
I2C:   ready
9 Y: D; M0 ~% S/ k1 nDRAM:  128 MiB
6 x$ b, e2 [8 p' N' f4 WWARNING: Caches not enabled0 t8 P1 O' q* L/ ^
NAND:  512 MiB: a; e9 @$ b& j% s2 c
MMC:   davinci: 0
; P# q2 J1 K% m% P% v* {Bad block table not found for chip 0$ l7 V2 ]/ x2 V9 m6 G( U
Bad block table not found for chip 0
3 ]4 F! `# E8 oBad block table written to 0x00001ffe0000, version 0x01
  p! g, x  o: I4 l# g, h/ W  hBad block table written to 0x00001ffc0000, version 0x01
- y: Y$ F2 {% W0 W( ZIn:    serial
' k6 c6 l' R6 H( P* aOut:   serial
4 C2 X% m4 A# f6 N" z0 ~: J1 [8 PErr:   serial
6 h. B% W4 k: EDefault using MAC address from environment
5 m' ?- T5 J  `8 DNet:   DaVinci-EMAC
3 k: M7 O8 o9 g* ?! xHit any key to stop autoboot:  09 }+ c; p$ `* p" _7 L
8 E6 W4 e! Y+ e# E' Z/ {! P
Loading from nand0, offset 0x120000# I5 e8 p9 D! `! g
   Image Name:   Linux-3.3.0
8 e  n; k+ o# E: D) z0 A   Image Type:   ARM Linux Kernel Image (uncompressed)0 r3 J" l" ?. N8 G8 N, O
   Data Size:    2843400 Bytes = 2.7 MiB- y; B9 M% B: n( p" K9 J
   Load Address: c0008000
* T# \3 M0 z9 }! J0 U3 P1 j% N5 G   Entry Point:  c0008000" l- h4 K" d* H4 D, c) z
## Booting kernel from Legacy Image at c0700000 ...: S) E  p4 Q) F" a
   Image Name:   Linux-3.3.0& Z% y8 ?6 S/ G; {) m
   Image Type:   ARM Linux Kernel Image (uncompressed)
' u2 s- C& A: y# d   Data Size:    2843400 Bytes = 2.7 MiB
& i& P1 o" e5 @) t   Load Address: c0008000
) E, q% f; K! P% S: j, a2 b   Entry Point:  c0008000
! K# s3 \+ X" A: |" S/ m" n   Verifying Checksum ... OK! m% r' j& k  |) g
   Loading Kernel Image ... OK4 D7 z6 P2 a; ^: u! W& @
OK
$ N  K: a3 h5 F6 c7 Y& Q8 P( l6 F! W
* G5 n* m, S) ]4 oStarting kernel ...6 n! ]# R2 y" n

8 s! F7 y0 z( B: HUncompressing Linux... done, booting the kernel.+ B& c/ y, w  _
[    0.000000] Booting Linux on physical CPU 0# D( z) }( m/ [9 O; ]
[    0.000000] Linux version 3.3.0 (root@custar-desktop) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #8 g PREEMPT Tue Apr 28 08:29:38 CST 2015
& B7 c( F& ?1 D" ]: J* j[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
2 I, ~7 p2 A( f) c' @9 A[    0.000000] CPU: VIVT data cache, VIVT instruction cache7 m9 `. I& P# I& Y6 }$ o8 l
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM% s8 B5 x+ d% |$ P& \$ X# n
[    0.000000] Memory policy: ECC disabled, Data cache writeback
# h0 {/ Z! Q' C% j( U3 n[    0.000000]  =======> da850_evm_map_io!8 {( i7 Q& Q+ s3 }0 K/ F
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space6 P+ D4 F2 b2 J$ w( A+ c* K% f3 O8 e
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
' N% v- f& m# N- `: K4 C7 J) R: w6 r* ?5 e6 x
% r3 g/ Z5 s0 e0 \8 m
, ^; [! r7 ~. ~
......7 v  E3 c8 b! X: {
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
' G6 o3 z5 G" ^: v+ i0 b$ J[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 13 Z  V4 j% h; S& G9 z7 \
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
( w! J- B! C' k$ K2 s[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
) x) `6 ~) d6 Y- t[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1  `" \$ ^7 }. h& C7 G4 N
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22/ l- `; }5 a: X6 N
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS+ }0 v3 h% }; B% y9 t9 s
Starting telnet daemon.
! W  A7 l* n: ^$ {( i3 _% ?* d# w6 |2 A2 B, x
......
9 @3 H/ s7 |$ n3 t6 GStopping Bootlog daemon: bootlogd.
. {" S, b4 k5 O4 o6 d2 h: f
+ |5 g6 B; O' d0 y# G) G& g- V% s _____                    _____           _         _
7 V: x; z' ^( T- v+ l: j|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
& p" F. g/ }7 h0 c" o|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|$ ?- M! F% X; p" a5 d) R/ d" O/ m4 F
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|% F, S8 n4 E2 _( W
              |___|                    |___|
" b# B! F' O$ T; i: x" I
$ W/ m3 d4 [! z: L7 }/ C+ Z; ZArago Project http://arago-project.org tl ttyS2
. ]/ |. \4 k6 m9 Q3 P- R# e) g$ s' Z8 ~/ i
Arago 2013.06 tl ttyS2' m4 H% z2 D6 o- U# h
- w2 h1 A' S$ j0 t( E
tl login: root (automatic login)
! \. N- d4 I% g' j
! h& U5 m  E% h* N9 P; a* d) hroot@tl:~#
0 Z; n5 }/ j2 O" E7 t9 d! T4 ^) h
4 J* c4 ?7 Y7 q2 s) y) e+ S, w
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
沙发
发表于 2015-7-21 13:54:08 | 只看该作者
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
板凳
 楼主| 发表于 2015-7-21 14:51:04 | 只看该作者
teddy 发表于 2015-7-21 13:54
; P' \4 l8 I, w' ?16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
; y8 \7 b9 `! U
会是数据线影响,还是片选之间干扰,16c554 是一上电就复位的。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
地板
 楼主| 发表于 2015-7-21 14:52:25 | 只看该作者
有没有可能EMIF哪个寄存器设置不妥当产生这种影响。
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2015-7-27 15:10:34 | 只看该作者
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
6#
 楼主| 发表于 2015-8-12 10:20:09 | 只看该作者
teddy 发表于 2015-7-27 15:10
1 L0 F# x6 j' W) S: Q2 R可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

/ O: P0 n9 z- F! C" a0 tEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在# y" t- h# L) j/ h% H
Starting kernel ...
" G% Z3 C" }& ~8 N" d0 ^Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

点击跳转“创龙科技服务通”

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2026-1-16 08:12 , Processed in 0.044847 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表