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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8043|回复: 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错误,掉电重启后可以正常) m  _2 T/ Y# f+ l1 ^0 B: F
: O: o; G3 S% q! b/ g1 \
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:2 g1 A! b# n( q( I0 P

2 r( |8 w$ Q- J  @4 B: ]9 m, H: |' E: y
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
1 w; i: T8 H# l) B: C% I1 C/ V0 @3 y0 @
I2C:   ready
: s4 M, h) s7 P5 G8 _8 \DRAM:  128 MiB
- H* u% B- t- W; hWARNING: Caches not enabled
0 H) D1 u. [5 h9 J# i5 {NAND:  512 MiB1 {+ \/ q. j# [- p: g
MMC:   davinci: 0
, X( j% y" b/ G( ]Bad block table not found for chip 0/ s( w8 ]! k' h3 c3 I
Bad block table not found for chip 0
. e" u: s# C: R6 a0 DBad block table written to 0x00001ffe0000, version 0x01  D( r% t- q- ]! S5 E! K
Bad block table written to 0x00001ffc0000, version 0x01
7 }. @5 Z2 E8 f& QIn:    serial, _) ?3 x: x  e- m
Out:   serial# X, J, ]& Y4 H7 y
Err:   serial
- }. L! S1 e3 G6 W4 m$ eDefault using MAC address from environment
0 }* x5 W) G# y; S9 f# |Net:   DaVinci-EMAC
9 ^8 q% U( p" T* HHit any key to stop autoboot:  04 w4 V$ Q7 \8 E- q& G$ I& }  w
( `7 x1 b2 T9 [& T$ }
Loading from nand0, offset 0x120000' T0 P0 H# F! |6 E* B- U
   Image Name:   Linux-3.3.0
- o, `2 m7 k9 j8 R6 H0 R- {   Image Type:   ARM Linux Kernel Image (uncompressed)
/ h% L; G3 c6 B$ n# ]# g   Data Size:    2843400 Bytes = 2.7 MiB/ j0 M% Y# `: k6 p+ M3 }
   Load Address: c0008000
  I; q; `& D9 k6 n/ J' @   Entry Point:  c0008000
0 B5 Q( ], _0 k  i+ t3 }## Booting kernel from Legacy Image at c0700000 ...
' J* ~. Y- {. Z4 W   Image Name:   Linux-3.3.0
+ V' k$ P. K: G- H( w% m3 ?; c# ~- r   Image Type:   ARM Linux Kernel Image (uncompressed)
$ A9 y* b& \( R9 @- C7 ]5 g+ R   Data Size:    2843400 Bytes = 2.7 MiB: o, L7 g3 g$ }3 G4 F, c
   Load Address: c0008000
+ A) b$ |% m3 g9 X* W4 X   Entry Point:  c00080009 Q$ X* r6 t$ B
   Verifying Checksum ... Bad Data CRC
2 F; z- ?/ X% E' u- U6 pERROR: can't get kernel image!, a. S8 W6 J9 q" x: L
U-Boot > Nand boot...
, _4 P0 W$ S, y+ C, @4 N$ g
' J! {7 B& P* \# [) v0 s
+ V. r( O! e9 Y, r/ `! OU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
! ]5 L7 S- K" P$ J6 D  B6 ]5 m' a0 S: o3 i% _* h! z- n
I2C:   ready
6 F/ N" A$ x4 V5 P4 ODRAM:  128 MiB
  W) U* X) p9 X1 kWARNING: Caches not enabled, ?9 ^. h+ ?/ O) m$ ~* u* @  O* B
NAND:  512 MiB: e" a& t! e3 I% Z
MMC:   davinci: 0
1 k$ f# w$ J& rBad block table not found for chip 0
' ~; e+ c" p  l; S5 GBad block table not found for chip 04 }5 z- y; v$ F% k+ f+ y6 Z
Bad block table written to 0x00001ffe0000, version 0x01% U* D2 Y/ E, U4 B6 j
Bad block table written to 0x00001ffc0000, version 0x019 `" ?" w4 ^, J, e! }. P) o& E
In:    serial) |' }9 ?, V2 [& @: [9 C
Out:   serial
1 d1 |- T' @, m$ w, g& l' JErr:   serial
" ?! H* Y( W+ w- nDefault using MAC address from environment) Y: m0 B2 F( E  Z6 q, b
Net:   DaVinci-EMAC7 s: O9 p, q) Q8 s% N4 H2 ^* ?, O
Hit any key to stop autoboot:  0
2 L/ a5 V0 g3 _/ E5 W2 ~( o" ~5 p! k+ w$ g* b
Loading from nand0, offset 0x1200009 [! S/ M( _: ^, L! a0 p( {
   Image Name:   Linux-3.3.08 V- ]  K3 s' A+ f
   Image Type:   ARM Linux Kernel Image (uncompressed)7 R' A% ]  W: p0 x4 k
   Data Size:    2843400 Bytes = 2.7 MiB- c  r6 c. B7 V+ F# ?) z
   Load Address: c0008000
3 t" J+ f' l- C; P   Entry Point:  c00080003 {! W* s; c' h' @$ Y$ W
## Booting kernel from Legacy Image at c0700000 ...
' c1 f% y; }, `   Image Name:   Linux-3.3.05 p3 j1 @. H: W: I) ~
   Image Type:   ARM Linux Kernel Image (uncompressed)! Z$ ?3 V/ O% a0 R2 f( v
   Data Size:    2843400 Bytes = 2.7 MiB
- w. T, _- }( N/ N5 A0 w: R1 h   Load Address: c0008000$ G3 _' W3 k4 J0 {4 m9 z
   Entry Point:  c0008000. {" {  q# s9 u# l4 U5 [* \
   Verifying Checksum ... OK
1 O7 |2 ?2 g, B/ l+ R' i* D   Loading Kernel Image ... OK
3 G* W" S  @  R; ^4 AOK$ R; P5 C- Y; {* f
. w- ^0 r4 z- s. S2 a
Starting kernel ...8 G5 W( B: M& W$ }

4 P9 ^6 A+ w9 X5 X) A, yUncompressing Linux... done, booting the kernel.* ~' k4 X# f. T- j& S& K% I
[    0.000000] Booting Linux on physical CPU 0
! r, Q9 `/ |" m& d- {+ A[    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
8 U1 J- _$ M* Y/ D9 b9 C* b+ \[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=000531779 k4 R8 Z' k& S& d. K2 ]
[    0.000000] CPU: VIVT data cache, VIVT instruction cache) R8 V' u1 I  p: T: z0 f
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM# }0 V% W% H. L5 U
[    0.000000] Memory policy: ECC disabled, Data cache writeback) f7 F! K% [6 b' A5 l) V# j% H9 ]/ B
[    0.000000]  =======> da850_evm_map_io!; I4 l8 L- e: K# U3 `! @+ |' N1 {
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
4 c/ t& `& y% a[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
1 W1 p4 ^# n& {. X" |: I0 c* [) R3 ~' M+ D3 e0 M

4 G: d! k, D, V6 N4 n% m3 x( T/ k3 e8 @1 }; E) U
......$ o8 v/ _$ l) `: g; u( i
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
* J, e! P; N( T% l8 N[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
( i1 Q7 Z; p/ V. E) i4 m4 Q2 T[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
! j6 y" N0 ^4 l& C: [9 J[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
2 g, N# e: [* q" }[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
6 ?2 T8 n( D' s! S# t8 I[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22- k; W4 K. R3 d( Z- C
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
0 L  c1 f" X! c* u! ~Starting telnet daemon.
2 O) ?% F9 A& R: L1 _& _
/ U, n: S" B6 O$ c0 q% U......( W% X" t6 X0 g- J2 v
Stopping Bootlog daemon: bootlogd.
) Z4 t$ ^) V% D, U, q7 d
, c5 T. L1 D. Q- F( G! E& S" F _____                    _____           _         _! W  S$ [. K. N) C
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_& \8 [/ \: ]6 [4 S1 {
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
" f) f  M) P2 S" z5 v' G|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|6 [; D$ S3 E' c
              |___|                    |___|
! n+ Z; i0 F* p# ]- K
2 d, W0 h$ a3 C, i! uArago Project http://arago-project.org tl ttyS2
- H: U2 t1 R4 `
) |9 {3 c) m/ [Arago 2013.06 tl ttyS2
' u( c0 ~6 D) ~4 X
7 g8 G4 F8 ^) ntl login: root (automatic login): Z0 h5 v5 Z3 a4 `

& b" E! z! c( v6 A# Vroot@tl:~#) u0 z% p4 M1 [, o  G2 O9 H6 V- f
& g2 W1 r  @3 Z2 f8 Z3 M
分享到:  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. F5 v* e# L# H
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

( @, b4 s4 u7 }; m会是数据线影响,还是片选之间干扰,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:100 k& @; M) g! T" r# I' J# n2 u
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
- D2 y9 h7 |4 E. b9 C9 q. Q
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
  B) v; J; `- u. b% f; t: eStarting kernel ...
6 V$ l, u6 ~% u- M3 R' @! fUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-30 22:35 , Processed in 0.041072 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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