SOS,从NAND启动,uboot加载linux 内核报 bad data crc错 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6729|回复: 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错误,掉电重启后可以正常
$ T* Z7 v, _; j7 _. b+ p. H/ U; H, W* p; A9 [( j- @: H$ K
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
7 E1 ?# A& t% q7 P5 r1 a. ^9 P
& ^% G% A/ j% X, z6 W9 ^+ v  ]
7 p- A8 G3 \2 T- r6 w# rU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)/ F" U! a. Q9 k) P4 u

4 Q" f  y# D" D0 r8 e" oI2C:   ready* t  K, v3 i' T; j8 L7 p. z  F
DRAM:  128 MiB: ]3 }! E& T' v3 x6 j5 t
WARNING: Caches not enabled8 r8 @$ ^7 \7 \; `  J6 _" q6 j
NAND:  512 MiB% m3 j2 i0 L3 a* O$ m% f6 V
MMC:   davinci: 04 P5 K9 Z, X. W$ F  n3 ]! W
Bad block table not found for chip 0
" [& w) M1 i2 A. @4 B; Z5 V8 HBad block table not found for chip 04 d- ~. w. z" K+ D! \& v
Bad block table written to 0x00001ffe0000, version 0x01' R" M* D) t: o% D% [# e
Bad block table written to 0x00001ffc0000, version 0x01; K- y$ ]3 D3 {* H6 m$ w5 @
In:    serial% u# V- _" Q5 `# g7 E& d
Out:   serial% U+ s" g, C' j
Err:   serial
/ t0 t% Y/ Q: k; D0 k5 g' @Default using MAC address from environment
8 V# u" W$ {5 ^Net:   DaVinci-EMAC
/ ^5 m. A8 o9 vHit any key to stop autoboot:  0
3 |5 i( G, M- F% H% V& X8 y# f9 f
Loading from nand0, offset 0x120000
- y' M, R, d4 v% b0 t& H& y   Image Name:   Linux-3.3.0
/ s5 Z9 K1 {2 x8 }" }' `7 t   Image Type:   ARM Linux Kernel Image (uncompressed)
& p+ @7 d) w, U' X8 K5 ~3 M   Data Size:    2843400 Bytes = 2.7 MiB% i0 `: {8 e, O! @
   Load Address: c0008000
% i. V2 U: {7 v; l   Entry Point:  c0008000! w9 p3 M1 D: d3 d& n
## Booting kernel from Legacy Image at c0700000 ..." \/ v; ^6 N) Q! n* H
   Image Name:   Linux-3.3.0
2 |$ L- P# w/ v# K" Y   Image Type:   ARM Linux Kernel Image (uncompressed)
- b6 _  a( [, `' g. _3 K: X   Data Size:    2843400 Bytes = 2.7 MiB, v0 D  {$ A* x$ c& \" l
   Load Address: c0008000
/ H! p$ J. r0 k1 |  X; N: D1 D' k' c   Entry Point:  c0008000
. M# R8 i$ X2 o1 n( i% j   Verifying Checksum ... Bad Data CRC: }: u! Q3 N/ d% G. i: V
ERROR: can't get kernel image!/ u* z2 |5 k) O1 Y8 @! z
U-Boot > Nand boot...' J% ^/ z' J; K/ z4 d6 P

8 E  r' E$ g. U, d/ z6 f* R4 v" S( h. g* ]% @* H4 i3 N
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
2 c7 q# b) _/ Q+ d. ?4 X9 D; P+ g7 K# E
I2C:   ready: b: [2 {5 }$ K9 Q, |; Z0 e9 R
DRAM:  128 MiB1 ?1 m/ R8 l# j0 R, f. V( x
WARNING: Caches not enabled/ O# ]# `/ y% I) a$ j$ h
NAND:  512 MiB
7 o" H3 Z3 k- N2 r3 A/ h; vMMC:   davinci: 0
7 N9 {  ]: B  C% ~& N0 i3 N- |7 |Bad block table not found for chip 0( o7 y' W6 D3 R9 b2 s# E5 l
Bad block table not found for chip 0
- t; [  a# r' i  \Bad block table written to 0x00001ffe0000, version 0x01  y& {( T! @3 j1 l; f+ _. d. r
Bad block table written to 0x00001ffc0000, version 0x01
, e" y% h, E" JIn:    serial! R) y: g# u) }$ e
Out:   serial
# d  k5 m3 ?8 l: d& ZErr:   serial3 y: A( ]9 W$ _/ O
Default using MAC address from environment
' K/ G) ~0 Q# U- R! ]" iNet:   DaVinci-EMAC$ t8 ~- J9 |, }- U: {. i
Hit any key to stop autoboot:  04 V% G; |6 l; s8 P& f' Z

% u  v' G8 j6 B) T1 C* VLoading from nand0, offset 0x1200006 l, _1 m1 t% ^  U! D
   Image Name:   Linux-3.3.06 Q- S0 C1 p' V1 t5 y
   Image Type:   ARM Linux Kernel Image (uncompressed)
' \; C9 p3 G7 x+ V2 E" F  l   Data Size:    2843400 Bytes = 2.7 MiB! G/ h% W0 V1 U* G* m) {
   Load Address: c0008000
# Z. \# h. V- Y, Y% n6 L$ R  |   Entry Point:  c0008000  ]) M/ `% N$ c: B  m1 X3 Y7 ]; Q
## Booting kernel from Legacy Image at c0700000 ...
8 N$ f0 u1 x( U2 I2 C   Image Name:   Linux-3.3.01 _% N+ {% h: Q, j5 p
   Image Type:   ARM Linux Kernel Image (uncompressed). y. B. _! G, |* j) G9 l% F
   Data Size:    2843400 Bytes = 2.7 MiB& |8 u* J; `7 y/ E: g
   Load Address: c0008000
5 R6 ]. s3 q# e   Entry Point:  c0008000
) q+ b' @9 N' V$ x; r0 H   Verifying Checksum ... OK
  q  c5 [; A: z. K5 N1 ]   Loading Kernel Image ... OK
' y: w5 l1 q: u4 wOK
3 o+ V. e7 K( D3 P
1 p+ P% }: }9 `. v1 Q/ `Starting kernel ...
9 ]  c. B# c0 G6 Z/ f! _4 s2 U9 ?0 G2 g% n! R  F
Uncompressing Linux... done, booting the kernel.
( n2 s; R1 b9 r4 u& [[    0.000000] Booting Linux on physical CPU 0
+ |9 b4 a" h7 q- O$ D0 M& b[    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
6 x  J- o7 r# b/ x! d5 A[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=000531778 F8 B; T' x2 ]' ~$ a# r; w
[    0.000000] CPU: VIVT data cache, VIVT instruction cache& h/ z3 l$ q# {+ y
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
* i3 O1 i* T2 D0 }$ B  Y[    0.000000] Memory policy: ECC disabled, Data cache writeback
5 e6 U/ p1 I9 w/ i* c/ D4 q[    0.000000]  =======> da850_evm_map_io!  n2 }/ M; Y1 e5 O7 T5 @, Q7 b
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space* f1 y/ V) i: h) \! M) j
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
: B* f' o8 ?. S2 O# F2 X3 D6 s7 R( ~2 T, D4 |' u& q

) ~5 S# Y. K( T7 n+ q1 \2 ?4 ]9 k$ A& r) j. F% Q3 W
......
. E4 D* i) W9 @& B. f0 V# u; }tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570' v6 e# m0 J  y( V3 A# `5 i* r
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
3 E+ v& \$ W, O! e' Y[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22" u! }. W* c' A7 F3 h0 d
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570" \: ~3 H3 U6 I! F
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 15 B/ G7 Y$ ~8 b4 M6 O
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
7 ~2 e: p4 d/ m4 I  {' Q0 ]/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS  U1 X- V8 ^7 Y( d% U
Starting telnet daemon.
# z& o6 Z5 z2 D. v6 R( ~
3 Y/ g- I, c8 a......9 t; k8 }$ R6 A2 U$ @* n  \
Stopping Bootlog daemon: bootlogd.; R! ?1 C! x. E4 @8 Y, ]1 u
+ r0 c' C; L/ {" ^+ m
_____                    _____           _         _
2 e3 J( W" d: z& m- a: h|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_- V9 \% x" o4 B6 z+ B
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|' ~6 Q2 `. a$ w9 U# s
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|/ M/ I: e5 Z0 U" }8 ^* T: A. f
              |___|                    |___|- m( ?) O. W( ?5 v' z4 V

( j$ w) `) p1 `/ FArago Project http://arago-project.org tl ttyS21 K; u" N4 Y5 \% c/ I

. j, h) c9 ^9 K( m) sArago 2013.06 tl ttyS2
# M' s8 k; O4 L0 `- g, L1 u5 Y1 W5 }! W
tl login: root (automatic login)# P' x) G+ w, f) V8 |2 A1 i0 ~
6 J5 A% Y2 l0 G. A9 [9 r. ]& ]
root@tl:~#
, H3 k1 X1 x; x5 P, f; Z+ H, F
/ {) ?6 v9 A4 U; G9 f
分享到:  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:541 a! b* F; x5 Q! X/ {. L7 \
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
5 o; o& m- y0 G8 U( 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
% O2 i3 x8 i, V& J! _' C, X7 k可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
9 F- H( n, e# D, H. e; `- O
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在# z+ Z. \0 J6 v% B' e: z* E8 G
Starting kernel ...
9 F9 I. K. b. ~Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 10:50 , Processed in 0.041329 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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