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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7398|回复: 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错误,掉电重启后可以正常
: X) ]! _2 o4 a: a: p  x, z
6 h2 S4 z* l; N$ o0 z+ b2 `6 y! c进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:: Z, a+ ^+ f' k& B7 l5 k6 y
- h$ l& ?- O" i) T" F
& x5 S/ c6 D( H7 n$ V9 d1 D6 B& V
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
( X  u! q2 |& M% W  [9 g, j; G$ V  B7 s6 u
I2C:   ready7 u# c  l3 x8 u/ s7 g2 f
DRAM:  128 MiB
0 V* X. p2 w) w- O+ U( UWARNING: Caches not enabled
/ B; r+ R) r& {NAND:  512 MiB
% O7 `/ ~6 Q1 y8 U6 [5 I/ j2 dMMC:   davinci: 06 _8 H' s  B5 p1 a# d' ~
Bad block table not found for chip 03 O4 q3 d* R/ }* Q
Bad block table not found for chip 0/ p- ]: x* o& w/ f3 G; `
Bad block table written to 0x00001ffe0000, version 0x01
( J" @( A) E& S# [Bad block table written to 0x00001ffc0000, version 0x01! ^7 m- }  [2 S" r
In:    serial
4 \! {  z! j6 cOut:   serial
2 ]. R  Q7 r: ]* P( @2 vErr:   serial9 e9 l# v* F0 A
Default using MAC address from environment3 D. @1 F2 e" Z8 O4 E- ]5 L
Net:   DaVinci-EMAC) K# E" }5 Y8 V
Hit any key to stop autoboot:  0
2 O' ?) x" K! O  H6 j- y% b( v& x# {4 N" \1 L
Loading from nand0, offset 0x120000
  v) \: E6 M" t   Image Name:   Linux-3.3.04 W( J2 Y) h2 C2 S) U
   Image Type:   ARM Linux Kernel Image (uncompressed)
& V/ Y  o6 O6 [' w" R/ z# n   Data Size:    2843400 Bytes = 2.7 MiB
; t# `1 T* Q$ y   Load Address: c0008000
7 O9 p7 r6 M4 F   Entry Point:  c00080004 w: H  Q$ A( R2 b  A
## Booting kernel from Legacy Image at c0700000 ...
! A  j* q) a( o) w8 ~! K, V" S   Image Name:   Linux-3.3.0/ z& \( S5 Q+ v3 v
   Image Type:   ARM Linux Kernel Image (uncompressed)' |9 f% A" J; O8 I# ]7 A3 L
   Data Size:    2843400 Bytes = 2.7 MiB
" D, l$ ~7 d. u, \  A! p   Load Address: c0008000$ z5 D/ [1 f7 k1 F- V. a, U
   Entry Point:  c0008000
6 e" a, p* ~$ k   Verifying Checksum ... Bad Data CRC
, m, y  X2 j8 ~* {: M+ @% y$ Z* kERROR: can't get kernel image!  F& y) M& G7 O. ~  ]3 s
U-Boot > Nand boot...8 H6 F/ Q* l/ _
: O1 C+ u5 A* z6 f$ d

0 d3 \. H+ i; B& mU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
' Q1 y. h/ R9 P, h* J
: D, a6 A) C" P6 i. XI2C:   ready
$ C: c7 S7 z: r3 ~; FDRAM:  128 MiB
2 d  \; _/ D. ^! b8 ]. q# XWARNING: Caches not enabled8 C( O% H0 l' w( N3 R
NAND:  512 MiB
( b$ b* J$ A" E; u, K3 vMMC:   davinci: 0* F% |7 Z% i8 c' ], B
Bad block table not found for chip 0) A5 b# t* d2 f' E4 S3 G! h6 e
Bad block table not found for chip 0
1 C9 ^$ l, J# V4 b0 T% `2 LBad block table written to 0x00001ffe0000, version 0x016 u1 f) D9 X2 i
Bad block table written to 0x00001ffc0000, version 0x01
' o7 h  B& R' j6 z: ~In:    serial
# E6 x, k+ u+ K% fOut:   serial
/ J& Y: S6 l* U! DErr:   serial
8 ?1 |7 I& O" K/ O/ B( t5 @: F1 DDefault using MAC address from environment
2 L/ P& S( ~7 A: ~6 JNet:   DaVinci-EMAC# C* v: o; C" b4 \2 A1 Q1 J
Hit any key to stop autoboot:  0; @& m" {: X) W# I9 Z2 a
9 D' T8 b1 b  X7 V3 |# H
Loading from nand0, offset 0x120000
  T9 P7 M, T: I& Z8 P   Image Name:   Linux-3.3.0
8 c! e/ s9 p8 _/ ^! ?0 p7 Q/ i% s   Image Type:   ARM Linux Kernel Image (uncompressed)& H4 @$ k  T3 U7 N
   Data Size:    2843400 Bytes = 2.7 MiB
# S' g: `. C/ z5 r( u7 ~( L& u& V   Load Address: c0008000$ m2 l# f6 K0 h: \
   Entry Point:  c0008000
1 f3 _: Q: x3 C! G6 F7 ^3 X## Booting kernel from Legacy Image at c0700000 ...& U3 C+ n7 V! a% m1 c* S7 P
   Image Name:   Linux-3.3.0
/ P$ a: D. m7 R) a  x! f   Image Type:   ARM Linux Kernel Image (uncompressed)
: h0 L' D6 k1 C: G$ V   Data Size:    2843400 Bytes = 2.7 MiB
4 C, G, b, k" V# x) g/ n5 E   Load Address: c0008000
  H4 [( u: j8 x! A& d3 b1 T# ?" S   Entry Point:  c0008000
  E. a3 H2 z4 X$ e  _0 n5 }" M: f! G   Verifying Checksum ... OK3 x7 }3 }2 p$ G; R: w
   Loading Kernel Image ... OK: s7 m- p! x, I  v: y# ~
OK* J4 t6 j! h+ y# y  V: c
& P9 T9 k* z3 K, A$ i
Starting kernel ...
6 a5 M- Y; q- c$ c
3 r4 h& I" G; X0 l' v- vUncompressing Linux... done, booting the kernel.
4 ~% d# O# k0 T# V[    0.000000] Booting Linux on physical CPU 0
, Z5 h: V  ?( ^% q) C. d- T1 W[    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
$ ?* M4 C4 p9 l4 H! S( b[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177; Z9 ?) b$ s+ @5 v5 x8 ]# v+ X9 ^
[    0.000000] CPU: VIVT data cache, VIVT instruction cache; x1 N- ^, J1 I8 o1 E! l
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM+ ]6 p+ D0 S( f5 ~4 _
[    0.000000] Memory policy: ECC disabled, Data cache writeback+ H: n; L* i  @& J2 s
[    0.000000]  =======> da850_evm_map_io!0 Q( j1 U2 p; A2 x8 ?( n$ q  h
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space& ?5 c6 O0 R2 w3 F2 e$ H0 _- b
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1- o: e! h( V# ?0 i+ P( Q

8 Z# m5 \* G) x4 _  R' ^: O5 Z) Z$ Z( O: K2 Q2 z
( U, _* y. u( }
......
9 q6 F0 F, m0 H: y4 _tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570. @5 u7 ~8 I0 S+ }
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
  w8 ], P9 u2 y! r! [0 l1 v5 H& o[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
+ f2 A& R. [  R[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
6 q% |* v" d1 s, V4 x" v& X[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1- d, U# c# [6 H3 Q8 p  u
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -223 S4 `% l* p8 x9 k: `" ?& P) t
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS* M5 Q5 [% }0 e
Starting telnet daemon.8 d  D* X/ ]7 {5 m+ A" p* K$ c0 c

6 h. ^  ~. F5 K7 l) `- `......2 p( [1 B! q, l$ e( W
Stopping Bootlog daemon: bootlogd.7 k! c$ E/ ^  X# k  h2 S2 E
. i% t  ~# r4 b' D8 L4 g' e5 w
_____                    _____           _         _  P/ ]5 P# U  _; Q9 w1 K# E! o
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
$ K- p# P6 ^  H, B7 F: ^, r|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|9 y% [( \! d$ W; \$ i
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|9 l! Y; E+ H$ J. j* s  R
              |___|                    |___|
+ v* m* S6 ^/ w8 l
3 p( Y8 N, |1 ~, O* S6 QArago Project http://arago-project.org tl ttyS27 _9 U1 r: E4 F3 y$ _# _
# }, I, ~6 l- a0 c0 m, m0 H
Arago 2013.06 tl ttyS2+ ^% B3 `1 ~* X; @, I& z
/ \) F; p& B) q
tl login: root (automatic login)
% T5 _$ E8 x$ x
* W. u8 u9 I- Z$ J- [' H' i* froot@tl:~#
: U8 |  Q- M/ e6 S/ |3 X
# P/ c- \' i! \0 b* a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
6#
 楼主| 发表于 2015-8-12 10:20:09 | 只看该作者
teddy 发表于 2015-7-27 15:10" Q: r- {: Y3 m- g+ ?, k
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
. W) T! Y! C0 e* M7 D* r& E
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在6 q( ^, Y& m4 W( L7 Z' U' C* o% ^
Starting kernel ...! M. e1 M" E! i, P4 n
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
5#
发表于 2015-7-27 15:10:34 | 只看该作者
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
地板
 楼主| 发表于 2015-7-21 14:52:25 | 只看该作者
有没有可能EMIF哪个寄存器设置不妥当产生这种影响。
回复 支持 反对

使用道具 举报

89

主题

104

帖子

391

积分

中级会员

Rank: 3Rank: 3

积分
391
板凳
 楼主| 发表于 2015-7-21 14:51:04 | 只看该作者
teddy 发表于 2015-7-21 13:54) ^$ v" H+ Q! M4 G0 k
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

9 P0 E2 l6 x# O会是数据线影响,还是片选之间干扰,16c554 是一上电就复位的。
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
沙发
发表于 2015-7-21 13:54:08 | 只看该作者
16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 10:54 , Processed in 0.040493 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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