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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7898|回复: 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错误,掉电重启后可以正常0 r/ S7 U8 b/ v6 G" k8 f9 m6 q

/ h; O3 f+ Y# e$ `进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:* E% `: g: `1 N1 h+ Y: `# h
, y; q) j) h8 S3 [& z% C  j
& E: F$ O, t5 ]: s( h
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
" l2 L% o- m' j5 X8 Z0 `2 t9 j& C
: _0 `5 l/ B' ?3 U1 y0 @3 l, U' II2C:   ready  v5 r0 u0 o6 e7 u
DRAM:  128 MiB6 j, W# G( j- e; u( H5 o  T0 B
WARNING: Caches not enabled
" x' c! a0 h+ Y+ n4 R: q9 ANAND:  512 MiB
, V# q1 Y8 v  NMMC:   davinci: 0/ M. H. w  E& i% z9 u
Bad block table not found for chip 0
& A6 {( s: w# O2 A2 q* c! ^Bad block table not found for chip 0
& v" s- J$ L) [) l2 y$ iBad block table written to 0x00001ffe0000, version 0x01, f' R2 k; [; H5 X
Bad block table written to 0x00001ffc0000, version 0x01/ f4 |6 F. k& B+ y5 Y1 [8 z
In:    serial0 F7 S  I( ~, j0 h+ s
Out:   serial
( |& c% O2 E: ]# U* |Err:   serial
7 t% }6 u7 N1 M! r6 {Default using MAC address from environment
/ `9 Q( g9 S, R$ W  QNet:   DaVinci-EMAC
& C6 |" @9 h- n7 lHit any key to stop autoboot:  0/ |2 o3 Q; ?  q6 L% A+ o

/ ^6 n2 E& L" Y1 bLoading from nand0, offset 0x120000. N. W, S8 c) [3 Q
   Image Name:   Linux-3.3.0
. \0 w+ R4 d$ O. M- V7 z# S" `   Image Type:   ARM Linux Kernel Image (uncompressed)
6 m3 t1 T  @% q& `7 M   Data Size:    2843400 Bytes = 2.7 MiB' ]/ Z4 I5 N8 \5 I
   Load Address: c0008000
# E! V/ @; H9 z' N   Entry Point:  c0008000
$ i9 N9 ?  _0 I! V## Booting kernel from Legacy Image at c0700000 ...) k' ~  \1 o( K' @2 f5 H( A
   Image Name:   Linux-3.3.0
2 ^- I$ ]5 D' ~. L5 F' A5 h   Image Type:   ARM Linux Kernel Image (uncompressed)
1 d4 L7 f1 j5 Y, k9 F) d   Data Size:    2843400 Bytes = 2.7 MiB
6 _) F* e0 q9 `2 ~0 a: ^& d( {   Load Address: c0008000
' m4 T- c4 S$ B, o- E- r   Entry Point:  c0008000
/ Y3 F: V1 h5 i5 n, d   Verifying Checksum ... Bad Data CRC$ P9 x3 Z9 \4 \5 Y7 L) w; s5 g
ERROR: can't get kernel image!
- x! n  W& r* b. UU-Boot > Nand boot...
* ]& |5 Q+ x7 w( u3 f8 q+ \: h& ~9 j6 w
; o: S5 j, b  u9 x7 j
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)$ W" F7 x; r/ L* A4 Q
8 D" J: U! F, r" l8 L: z6 g
I2C:   ready! i. F) B. y7 r+ W6 l- n% r
DRAM:  128 MiB
, l' }' g2 X1 f8 z2 K, r3 T7 uWARNING: Caches not enabled
* q1 C, x$ M: x" B* ENAND:  512 MiB( e! S8 v7 z& s: J
MMC:   davinci: 01 Y  E: v- m$ H7 R, W+ t
Bad block table not found for chip 0$ y2 a1 j0 [! O
Bad block table not found for chip 0
  V) a/ l+ q* `, X6 [! [2 V7 s. SBad block table written to 0x00001ffe0000, version 0x01- d  U+ X. o- v$ }- a
Bad block table written to 0x00001ffc0000, version 0x01
- n2 [* W# B. X6 zIn:    serial( D3 o# s# k7 ~  J/ b
Out:   serial. B7 \% G: \. P( r8 M3 p! f
Err:   serial
4 W$ V- L) Y; b4 D# _/ HDefault using MAC address from environment
' O, {4 Z* C! f3 |* oNet:   DaVinci-EMAC
- P. G/ [+ _- ^; S4 QHit any key to stop autoboot:  0
+ n6 ^) s# F5 S" ~- q6 I" ]+ ?! F0 p* C- z
Loading from nand0, offset 0x120000, W9 n% `  f% o; m& ?; M
   Image Name:   Linux-3.3.0! L( Y" T5 q+ E& C, _& l& e
   Image Type:   ARM Linux Kernel Image (uncompressed)
1 i# ?- M9 \7 ?, _   Data Size:    2843400 Bytes = 2.7 MiB
7 H' f4 j* g4 E7 n/ \' B   Load Address: c00080000 s3 u8 X/ S/ H1 h+ Z9 X
   Entry Point:  c0008000; D3 A2 R* a# S: _. u% d9 ~
## Booting kernel from Legacy Image at c0700000 ...
0 J2 U6 d9 ?4 L! w1 f6 b  s   Image Name:   Linux-3.3.0
/ p3 @+ D$ a$ b& O8 E- c   Image Type:   ARM Linux Kernel Image (uncompressed)* Y, q! k5 ]0 P4 d7 C
   Data Size:    2843400 Bytes = 2.7 MiB: N3 O2 K' F( T% o5 I% G
   Load Address: c0008000
( b0 K% |7 h' A/ ?$ v   Entry Point:  c0008000$ K5 d4 y: o& n) g7 `4 r
   Verifying Checksum ... OK/ j1 n5 j  C' c, |3 n
   Loading Kernel Image ... OK
0 ]0 i: X' g  w$ f/ D- |' K+ d% rOK* I' x2 V4 V/ R! u/ [4 o- j9 h

3 q" N$ {& u! X' a* N% fStarting kernel ...: r9 }! G  L" [! W7 T  o

' a: G" e0 X: E0 y9 i# @Uncompressing Linux... done, booting the kernel.1 u, {$ S( x5 X7 {8 a
[    0.000000] Booting Linux on physical CPU 0
" ~. }4 g3 v( K3 q3 N& n# a" ~3 R[    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! b4 }6 x- D* \, c2 ~6 Q. R
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=000531772 W2 R  y1 V' \
[    0.000000] CPU: VIVT data cache, VIVT instruction cache8 d9 H% i9 G0 e% |. [9 X# v8 K
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM/ W, T2 |5 I3 G* b0 Q' H
[    0.000000] Memory policy: ECC disabled, Data cache writeback' G& [: J+ i7 v, }: S
[    0.000000]  =======> da850_evm_map_io!
1 n! Y+ H7 F9 o* e[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space6 n7 e' H1 s/ }8 j6 o
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1* F+ _5 Y' F  @  Y! @
  j3 ?1 R; k7 s8 b* ]

+ ^9 U, Q6 l8 V& K. j, r; Y  }5 W
, c# \& {% F) L+ f( ]) ?. r/ e......; E; E! N& Z$ B% t9 t
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 35702 N6 b- v$ n8 W/ i3 e
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
4 W4 q3 q. S; z1 Q4 A# @6 w[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -223 b3 c8 z2 B3 J1 o8 n
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
3 ^# X+ V7 }$ Z+ f, s[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
; m; v/ ~; C0 b' D[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
" [- D% j/ P7 z& U- I( I/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS: f" X2 |& x+ \0 W* \1 {$ u  e* ^
Starting telnet daemon.( _1 G# R, f! w

6 I. g2 e3 X9 ]. b......
& Y6 w& u/ x/ O5 A3 I1 SStopping Bootlog daemon: bootlogd.8 q$ C0 l1 @- H- k: \

6 p. r* h& d0 Z; h+ p _____                    _____           _         _
* h+ d4 D, A$ N# @* k1 a|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
8 R, K/ o; M  p( ?! m0 _- N; h' \|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|) ]- y& a+ x& ]0 [2 l
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|- H" \( _; a/ ?8 U
              |___|                    |___|2 ~; \+ P: t6 N' [

0 T" a; l3 |2 m' U% K. GArago Project http://arago-project.org tl ttyS2
+ k+ B( V; C( G! c
) f1 N* t5 D9 i% l3 yArago 2013.06 tl ttyS21 k9 K6 O: M7 x! ^' T' z* s. S* t

7 @! w3 J( w, d2 U5 ]tl login: root (automatic login): E% |0 d7 S+ j

: V8 j% H" j" {root@tl:~#4 Q; L# |1 P3 v5 ]' _; [& ^3 b
8 D2 C& f( Q. h: n  i6 U: g0 l- j: [
分享到:  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
9 y+ w2 v) G; D0 C  Q16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
( z6 |$ m9 p7 E( `
会是数据线影响,还是片选之间干扰,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 ?' h! v# R, j& V可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

: |& m$ u$ J4 U% D7 |& PEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
* P. o4 x: s. p, J7 \" D0 tStarting kernel ...
$ y* Y5 T+ ]1 UUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 06:39 , Processed in 0.049024 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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