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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8304|回复: 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错误,掉电重启后可以正常
# j2 w* l: }6 W% @# Y; e5 @6 |+ h# T, @9 z, S
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
8 S3 R/ F4 N- [" P% w" ?$ b3 _- D
6 l# k& n5 ?' r8 J% Z& t# |9 e, g% P! k! [
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)$ X. S7 L! i( H( V. P
$ ]" S  D  t3 w# c2 X  ], G9 ~
I2C:   ready; M3 O" U3 A0 O" ~2 }2 E7 S4 B
DRAM:  128 MiB; M1 q: _- M- L  H, H2 T; I
WARNING: Caches not enabled! e- r3 \' m6 k9 g! y% Y
NAND:  512 MiB* C7 A/ R  _4 X5 Z' L/ `# P0 J7 `
MMC:   davinci: 0
" X3 w; ^- {$ x9 [! l* h9 NBad block table not found for chip 0; H- ^$ i: E) u7 f8 P9 f
Bad block table not found for chip 08 ?. g3 |& w9 E: _& W. W4 n
Bad block table written to 0x00001ffe0000, version 0x01
$ X; M1 P# \& v: I5 w* nBad block table written to 0x00001ffc0000, version 0x01$ \3 l$ }" G3 N* {' `" u/ x
In:    serial  w2 k$ _! \' j4 _2 O1 [
Out:   serial
) ]: u5 k+ f: Q, _& r) }Err:   serial7 ]0 C1 M$ D8 H6 l0 V
Default using MAC address from environment7 d; h: ~$ c0 r0 b  C+ Q- M
Net:   DaVinci-EMAC
4 f8 I8 f4 m% ?- n: ~* q% C8 i0 THit any key to stop autoboot:  0/ |' }9 S3 S7 N& o+ D
0 P& E+ F  `- h' Y
Loading from nand0, offset 0x1200003 m6 l8 I5 d" m" H2 V# Q
   Image Name:   Linux-3.3.01 h, F/ U2 v1 F2 [: l6 T! f  B% M
   Image Type:   ARM Linux Kernel Image (uncompressed)3 w% N$ ?5 C7 q" W. S
   Data Size:    2843400 Bytes = 2.7 MiB
% j1 O* B5 {0 d8 l: `   Load Address: c0008000
; s5 u$ F# w; @, I8 [   Entry Point:  c0008000
* N" t! Y2 p% W+ t2 c- o## Booting kernel from Legacy Image at c0700000 ...5 }: J/ o, L; h$ \* [
   Image Name:   Linux-3.3.0( D, T( J1 u0 `9 N4 X
   Image Type:   ARM Linux Kernel Image (uncompressed)! g7 m. }( T/ s/ A$ n
   Data Size:    2843400 Bytes = 2.7 MiB
7 E1 A5 W& U: }. }   Load Address: c00080006 B( J- _8 K7 S! l: R
   Entry Point:  c0008000
6 E# C$ @0 |$ ^8 L( L% d) f   Verifying Checksum ... Bad Data CRC
9 K1 W. K4 l) hERROR: can't get kernel image!
  e9 w% `# `% hU-Boot > Nand boot...
2 g, g* {$ k8 u9 ~' f% c  p* ^4 S/ o6 A" R9 V3 W
& t, t! F, }: A/ x2 Z
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
) W. ]2 N+ p/ b' ~+ r6 e+ ?4 Q
3 f: }9 n8 F5 K( SI2C:   ready7 M, i. `2 d) ~8 L4 ]
DRAM:  128 MiB
) {; V+ l/ B; kWARNING: Caches not enabled
) T% g5 X5 |( K/ F8 DNAND:  512 MiB
6 _3 x5 w6 S( f. cMMC:   davinci: 0! N  I0 \# I8 a7 r) I
Bad block table not found for chip 02 ?7 F- l- w3 I7 u/ P
Bad block table not found for chip 01 W! u) u) k7 Y- Z) T) |; j
Bad block table written to 0x00001ffe0000, version 0x01: Z( A4 H; u$ N2 u! ?
Bad block table written to 0x00001ffc0000, version 0x01( q/ ~6 b0 h: g, S' z
In:    serial0 _: w2 b$ J7 A7 t/ p+ E/ Z
Out:   serial7 h" o+ N5 A8 Y
Err:   serial- i* k) F9 f& Z  `! O+ b5 E
Default using MAC address from environment6 v5 l& q- g6 x( y$ ]% K, N( R& Y% S
Net:   DaVinci-EMAC
& X3 V0 U% s4 k& G* oHit any key to stop autoboot:  0
( d! a3 |0 \7 f7 R' u- y9 }
9 D; e! y! N. d8 s5 w3 JLoading from nand0, offset 0x120000
. A7 s" L8 ^6 d6 @8 ?   Image Name:   Linux-3.3.0( B& [+ C1 F9 M
   Image Type:   ARM Linux Kernel Image (uncompressed)
& X8 e: y* _& V) U+ t. e$ y   Data Size:    2843400 Bytes = 2.7 MiB
* F5 x  P9 {1 k  f2 d* K3 ~- z! E! @' ~   Load Address: c0008000
! x: a2 [1 X, a' E" d/ g   Entry Point:  c0008000
0 u+ T$ c' D) ?! k$ O9 W## Booting kernel from Legacy Image at c0700000 ...
+ B4 y$ w3 U/ U5 Y! M   Image Name:   Linux-3.3.0$ w- |; ~+ t% a$ S9 r
   Image Type:   ARM Linux Kernel Image (uncompressed)
7 \. d) b1 T$ O: }% v0 T* z% A   Data Size:    2843400 Bytes = 2.7 MiB6 {+ X4 `1 ^' R- l
   Load Address: c0008000# R4 H, Z4 {! Z% v* H* T
   Entry Point:  c0008000* l% Q; S: F- e" V" r" e  V2 ?: X: A
   Verifying Checksum ... OK
- J; k( D: u6 e( u: J* e1 G3 u   Loading Kernel Image ... OK
0 U7 I1 c+ c( E6 X6 Q8 COK
9 i! e; D+ S* |- u% c
0 e6 p4 r1 }6 l9 Y) H$ O* cStarting kernel ...
. r/ p  d4 y& z! W0 R+ p# e& J& L$ _2 Z; V1 Q
Uncompressing Linux... done, booting the kernel.8 G) H1 \5 S! W( \) ^
[    0.000000] Booting Linux on physical CPU 0
& ]5 ?/ f' ?: ~* ?[    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
3 s9 h" w& l" j+ z$ `[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
' M$ t8 M. K0 U' K) \[    0.000000] CPU: VIVT data cache, VIVT instruction cache
* ?  X8 y/ m9 \0 f5 \3 B[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
! `$ g% n/ ~) Q. T, R: F[    0.000000] Memory policy: ECC disabled, Data cache writeback4 N7 E, U( _: Z1 j9 R  H
[    0.000000]  =======> da850_evm_map_io!
* B/ a6 F( z1 c5 F. D  X) b[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space: L& H+ p9 V# U& u6 @: c
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1/ v; U( l7 M" M, T- c" n# ~/ a
* o3 _$ A6 X: n  x: B' N! F4 p

3 c4 R) N" w0 L& G( Q& W2 L: N! R, N: z+ `7 }/ z! m9 _
......
! v, Q: i/ l" W8 Btarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
. y" G3 F( n" [/ }  p0 U[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1# w8 P  p0 A+ j5 X+ e
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
2 ]0 x3 H  @) R0 ~# i" M[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
% |, Y+ M) e' V# E[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1# s0 a2 t! S: d2 |6 w2 `* i+ H
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
2 ~) z" L5 j% l  O5 ~/ ]/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS4 F/ i8 G1 j  c- q
Starting telnet daemon.
/ j( ]7 {% q& j2 {3 q  U) G0 j
1 ~, N8 I3 O* z$ W" q......4 l! L. G8 ]' Y8 q( h7 O
Stopping Bootlog daemon: bootlogd.
  l! I3 l+ o0 w
6 ]% f7 u7 {1 l3 R _____                    _____           _         _5 z! T; u2 T$ e- v4 X0 `
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_) l: V7 A/ o  N8 l' P. J6 o- b
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|$ {0 U$ g% @3 N8 ^7 F8 ^
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
3 M; r# ?" Y5 Q9 E4 r+ T& T              |___|                    |___|2 a8 X0 p# J. I- r0 n5 M6 h

: o! ?/ y3 h* p' I7 J. MArago Project http://arago-project.org tl ttyS2# h" A' I: t$ q( c* n7 t

, E& R0 B- \1 `  v0 ZArago 2013.06 tl ttyS2% t) Z  w! Q4 t$ o

/ f0 P5 C5 c0 I; b- f1 B5 Q" {tl login: root (automatic login)5 `0 l" s9 T7 r( N. v

0 o/ a: f$ g1 u- O; G8 N' Troot@tl:~#
9 G2 m1 x  Y* E/ [. ?8 g! j
  l" D% C2 ?* ~7 B% d0 Q# ~3 |
分享到:  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
' f# H! J. ~0 r16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

6 T8 L5 G4 `6 a会是数据线影响,还是片选之间干扰,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: E$ U: f$ r) [: G
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
2 [8 S5 s5 u# v
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
, _. T) A& ~' x8 gStarting kernel ...$ ^" N- u3 V& N) H( p: a
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 06:22 , Processed in 0.043203 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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