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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7905|回复: 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错误,掉电重启后可以正常
  `2 n0 ^/ @3 D8 G9 k! x8 j' `2 @; D5 I/ R4 E
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
) l$ L" ^+ q: J+ X# q  [+ d; }* L: o0 C+ d( q! ]. G
  g3 g0 X$ G& G# e) C+ H0 v
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
& M4 D! S9 i' b, g# n" M, o! H0 m( d  V* _; C6 W) r. |
I2C:   ready/ D0 i) \* Y! E5 I" B
DRAM:  128 MiB4 `3 M, B! B) p
WARNING: Caches not enabled! S# r1 T% N% e/ ]
NAND:  512 MiB0 h+ g' q) c& q0 \+ R3 w, U; ?
MMC:   davinci: 0% ]$ w" D) V+ o- o
Bad block table not found for chip 05 S, R. r2 ~5 {4 y
Bad block table not found for chip 0
9 M6 `0 z* p7 _8 p8 K7 WBad block table written to 0x00001ffe0000, version 0x01
# L. G0 Y; Z( R: m+ o, d4 mBad block table written to 0x00001ffc0000, version 0x017 _6 t+ S! u! E8 h! i6 |+ E1 W
In:    serial
6 ?, X+ A+ U  I1 V( [Out:   serial: Q/ o* l0 P" h/ A0 k4 S
Err:   serial
2 U5 _% S) h" S, nDefault using MAC address from environment
8 C. h: i3 [, B: ?6 BNet:   DaVinci-EMAC
# {+ }1 j% h1 A# ^2 wHit any key to stop autoboot:  0* g% J8 T; P( Y* d8 o0 O4 {

, @2 R3 r8 M+ i9 |3 h3 M8 b7 a3 qLoading from nand0, offset 0x120000( d+ a+ ~. H8 Q: Q# e; n0 H
   Image Name:   Linux-3.3.0" a, m; c) R3 w, L* Y" [7 ~* a2 S
   Image Type:   ARM Linux Kernel Image (uncompressed)1 z  ?/ p# Q, M
   Data Size:    2843400 Bytes = 2.7 MiB0 u8 O; @6 b0 q) M7 _
   Load Address: c0008000( ]2 H1 M6 j# @# p# Z# K3 K4 G2 u
   Entry Point:  c0008000
4 K/ ^' G2 C, ^7 s## Booting kernel from Legacy Image at c0700000 ...1 t. M2 r# I2 c/ ~$ v( N) v7 p
   Image Name:   Linux-3.3.0
# J8 H# P- a' U, H3 }   Image Type:   ARM Linux Kernel Image (uncompressed)+ g" [( C7 G) {9 ?  m$ B
   Data Size:    2843400 Bytes = 2.7 MiB* b: |- |* r% y1 u6 ?  R+ J+ z
   Load Address: c0008000
! v0 z) z5 f0 y! A  X   Entry Point:  c0008000# f: J/ Q. P- o# J4 t1 A, [
   Verifying Checksum ... Bad Data CRC
" X' t/ j& R# y( sERROR: can't get kernel image!
, B; M( ?0 @3 VU-Boot > Nand boot...
. J7 a8 ]: m: l; q3 j% J) g1 j% `, H* g" a5 U7 y5 a, |
/ `% P6 s6 z) ^6 D$ D8 ^- X
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
/ |0 j5 ]) Y/ }) I$ m( O
/ {# Q& o$ v2 n2 A! B8 C$ gI2C:   ready+ s3 O0 \5 Y  _5 ~% [
DRAM:  128 MiB
# H8 [" b; B$ w. w; v, ~) J5 a6 `WARNING: Caches not enabled0 ]1 ?% z" I9 O8 s
NAND:  512 MiB& {/ T- _+ V4 g7 z
MMC:   davinci: 05 v) c2 \/ L5 s, I8 ~3 L7 m
Bad block table not found for chip 0. p1 U2 u' @8 ?# m6 Q
Bad block table not found for chip 0
2 g! j2 f7 a2 p# y( rBad block table written to 0x00001ffe0000, version 0x01
; F* @3 Z& e" P" G2 _4 VBad block table written to 0x00001ffc0000, version 0x01. X3 e; E$ N0 g. u1 t+ M& o
In:    serial
/ u2 m9 t) S& C$ ]7 y+ B+ y7 v4 vOut:   serial6 N- z, z* t  f
Err:   serial
: Y+ L- h% e$ M5 d* ?- j$ uDefault using MAC address from environment3 t3 W& J5 G$ x( m" q! }
Net:   DaVinci-EMAC4 O7 x7 ]7 V4 F+ @3 ?3 H
Hit any key to stop autoboot:  03 q1 l7 I! E% P, i8 @
3 z& `8 V# R& S, }/ q
Loading from nand0, offset 0x120000
7 h' v, v0 S8 g5 s, l/ ~1 \   Image Name:   Linux-3.3.0% `7 x0 y! s' j. y9 d
   Image Type:   ARM Linux Kernel Image (uncompressed)) n* x. V) F  v) s$ Z2 y5 D
   Data Size:    2843400 Bytes = 2.7 MiB
6 a  x; u" Z$ L  e. ?   Load Address: c0008000
: F! I( i$ N; T+ u   Entry Point:  c0008000
) y( ^1 F( I# s, d) C9 {% @## Booting kernel from Legacy Image at c0700000 ...! v8 S3 I$ L, q# c' N' z1 V; N4 k) `
   Image Name:   Linux-3.3.0
  j& U- ~0 F& Y6 b8 f8 f   Image Type:   ARM Linux Kernel Image (uncompressed)
% J- \# O( _; m8 r4 u( [6 S; c   Data Size:    2843400 Bytes = 2.7 MiB2 r! Q4 u. M" Q# R& C
   Load Address: c0008000
' z' P9 r$ R  i7 r- A# z9 U$ w   Entry Point:  c00080007 Z0 Y, I  L% \: }$ A* \' c0 u
   Verifying Checksum ... OK
, x+ E9 }- i# |7 d; [) l# x8 V- [   Loading Kernel Image ... OK
* t. Z8 d; j! yOK
3 f+ {* z$ S& T; B4 J8 v
! E: ~- z, G" r' M( D4 dStarting kernel ...3 \" B  W; N4 @) F' V6 S
; Q  e# k+ a7 a
Uncompressing Linux... done, booting the kernel.
6 A6 v  H. M/ l; ~. i$ y) H[    0.000000] Booting Linux on physical CPU 0( o% R' `1 Z7 w9 `/ j# W. R* k6 D
[    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  z  F; W) d" d: Q7 S" ^
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177) p& K/ M$ @- m! A
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
2 r6 x' `' E& y( I! S) |[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
; G- }3 ~. x: ^) p3 Y2 {0 e3 M; _[    0.000000] Memory policy: ECC disabled, Data cache writeback/ N9 W6 @( v! R
[    0.000000]  =======> da850_evm_map_io!
& I5 W% H$ `* m7 W$ N$ U[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
: R8 m9 z; ?3 v( p[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1% \  y% w; B- I/ v
$ @$ P* E: u3 L0 ^. [4 t9 o2 Z

' D4 i- \; D7 T2 |8 X1 j  J7 @4 i: g0 N
......6 ^8 y: _0 n  W" r8 q# B! t# L+ N
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570# v3 [* B- o& q. t
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
/ V  O) F- {5 X3 T' a[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
8 x: D9 o+ a! R* |[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
" f1 q* P% b3 E[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
* U7 h$ k* C2 W" V& ?; R" [9 z[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
3 q+ ?( M. Y' W" N! \" k5 z/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS4 c. c. h  i. [) Q2 x8 F# E/ b7 N
Starting telnet daemon., J6 y& V/ v8 r$ W6 M

( t* s8 d9 Z  J& }8 L5 b; y......
; v, ^  `. \: C  R, X; `Stopping Bootlog daemon: bootlogd.8 v0 E* r5 M9 o

" g2 z9 x6 C. |7 V% w4 X0 f% a9 C _____                    _____           _         _
, Y" P9 E0 v$ a# t1 `7 |) D! q1 B|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
9 ^. q" I$ M$ `|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|6 P' a! H$ d6 ~7 r+ t
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
/ s/ O# a# _$ m9 x# N' I( Z( D% F              |___|                    |___|
3 [  A7 ~; K! ]9 s3 f" r+ n! c8 U) }) }' ?
Arago Project http://arago-project.org tl ttyS2
0 ]6 G4 O) v8 O0 u4 M/ ]$ c4 b/ w) p
) V* w9 N3 x: u/ L8 L2 U& nArago 2013.06 tl ttyS2
8 u8 Z2 o; r' j  E% c5 ~! W8 k
0 j4 M8 {9 O& M& Z9 ctl login: root (automatic login)
3 }- A- C0 _+ P7 d0 @6 @7 t1 F8 ?$ b( f9 F4 g% Z. a2 e: l
root@tl:~#) n1 u' H8 h) x  u2 r2 c
! b2 E' h! v% b* A8 C
分享到:  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:540 J$ r% g8 \7 M
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

# R' t' p* ]: v! _( }会是数据线影响,还是片选之间干扰,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
% C% e! l+ h& l  [; V可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
$ K* E' M4 ~# O  F4 J& D
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在, {' x  h- X% f( @
Starting kernel ...
  |, v/ ?1 o/ d" ^Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 10:52 , Processed in 0.041749 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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