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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8078|回复: 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错误,掉电重启后可以正常3 a. i' g, Z# F; O

5 J0 M9 K) S2 k: N( ]& c进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
/ ]$ k6 V1 s* k9 }( j  E8 `
6 X7 m; f& Z$ A6 I
) t( \8 ~/ q6 ~4 e. G1 oU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
! E" m8 V1 d) d( _3 h+ o
+ Q3 P3 S6 h7 I5 D6 {, X' K0 kI2C:   ready
& H; J" f, A1 ?# M6 x9 WDRAM:  128 MiB! x; E" C7 Z$ _0 `. ?
WARNING: Caches not enabled
: E& S" m# c* I: a* h' n$ lNAND:  512 MiB  h. F  V& \( L6 a1 M! [7 u
MMC:   davinci: 0. B6 d0 [' _) f6 H9 {1 B3 R
Bad block table not found for chip 01 B+ W$ O: S! j  p- _4 i
Bad block table not found for chip 0& S! b2 C. b& e) m6 K% ~5 ~( j) X
Bad block table written to 0x00001ffe0000, version 0x01  q% _' G! h1 y* d0 Y" G9 y
Bad block table written to 0x00001ffc0000, version 0x01
. |4 n3 r4 h$ k  Q7 l! ?3 eIn:    serial* `& V$ J4 x5 O( w
Out:   serial
+ U3 [4 V: `4 aErr:   serial& y9 Z$ ~1 x8 ]0 ?7 H
Default using MAC address from environment# U$ Q3 {, W0 q3 {3 d: c
Net:   DaVinci-EMAC
; l4 d& H* c/ J/ y/ j- Q2 XHit any key to stop autoboot:  0  E1 y0 u. u" U2 k* J$ v1 L. K
6 J8 U- h$ l% L
Loading from nand0, offset 0x120000
! _: K8 W* u6 S" }   Image Name:   Linux-3.3.0+ i, i) K3 U: {* V4 o
   Image Type:   ARM Linux Kernel Image (uncompressed), d: Z! ~4 U, a6 I6 |8 G
   Data Size:    2843400 Bytes = 2.7 MiB
# o* I& K8 t' U: s4 \; H/ x   Load Address: c00080003 M) S4 Z) {4 a8 g7 S
   Entry Point:  c0008000
3 A' T0 ^) t( C6 t. l## Booting kernel from Legacy Image at c0700000 ...
! K* l+ j; O& [. c% i   Image Name:   Linux-3.3.0% i( e" }, j' J* j& c1 n; G
   Image Type:   ARM Linux Kernel Image (uncompressed)
% A- h, d7 y% J( ^0 o. j" T1 Q9 o4 \   Data Size:    2843400 Bytes = 2.7 MiB" I% y5 Z9 H- y! D
   Load Address: c0008000
3 I* C' W" w$ f7 j7 k: A   Entry Point:  c0008000
9 i7 Z4 E1 l# K' G: f; R& z* ^   Verifying Checksum ... Bad Data CRC4 l: a/ I. F, d* W& E
ERROR: can't get kernel image!* y8 ^5 w; D; G3 F/ d" v% E
U-Boot > Nand boot...
; e. P! R0 G) w; W' u7 q: g( h1 y; L4 Z: {
$ T4 `1 ^7 h' E4 Q
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)% \) q4 X2 u* T  x0 |9 v
3 {! L; ^6 `) `& m4 n1 B
I2C:   ready" u" U  O. H, k' K4 X
DRAM:  128 MiB
: W  S+ ]1 T: B9 Y% PWARNING: Caches not enabled. W- _* d1 G) Q5 i5 q5 G; |& T# a& V
NAND:  512 MiB
; z' d2 s- v4 C% K" P( h* HMMC:   davinci: 0* t6 _' h7 ~% k) p3 ?9 A9 f# N
Bad block table not found for chip 0
$ Y7 k1 c% U' v; b5 h5 vBad block table not found for chip 0" @3 d: `$ Y5 B& s; L
Bad block table written to 0x00001ffe0000, version 0x01
1 V  {; ?5 n' A3 ?0 Q; [1 n7 R! w% PBad block table written to 0x00001ffc0000, version 0x01# k+ Y4 J, ]) a7 c
In:    serial+ ~* E: L' C& d$ y) o! A1 I- D
Out:   serial+ H, A, {) \+ J/ l3 a$ P
Err:   serial! w* C; L; [9 d! s  V
Default using MAC address from environment
/ v5 ^8 Q' M+ e9 NNet:   DaVinci-EMAC  y" j) V( _/ \5 V! x
Hit any key to stop autoboot:  0
( u0 v3 U/ d6 C, T' X$ E, q  ^( ]- R
Loading from nand0, offset 0x120000
5 D3 Q# }* A/ J0 r% n9 }, ?   Image Name:   Linux-3.3.0
: L9 X5 K& z5 C- O' A/ C   Image Type:   ARM Linux Kernel Image (uncompressed)
2 v7 P. c0 H3 C0 k   Data Size:    2843400 Bytes = 2.7 MiB
3 a5 B. L" s0 H) Z( s   Load Address: c0008000
( I; U& O- B+ U4 u/ ]   Entry Point:  c0008000, M/ w! [1 [' Y$ ?
## Booting kernel from Legacy Image at c0700000 ..., E0 w; g6 x) ^
   Image Name:   Linux-3.3.02 L3 z3 A+ ^( e; v% N
   Image Type:   ARM Linux Kernel Image (uncompressed): F/ m/ v7 e) x1 y
   Data Size:    2843400 Bytes = 2.7 MiB& g: \2 p  p, b" p$ R3 U
   Load Address: c0008000
: v7 I& w! ]4 L' m- R   Entry Point:  c00080009 r  m9 A% r6 m: ?
   Verifying Checksum ... OK9 U8 H( x8 U% s# Z! ], R4 T( w
   Loading Kernel Image ... OK+ _/ u: R3 H8 r3 a6 X9 n
OK
9 j+ e/ k) \' x( y  H( q" b) K' W4 Y4 G5 z+ _- d/ c- p& @. i
Starting kernel ...: u) e* r' g/ n3 L

) x: ?- d+ i, N$ h( Q5 e& h& ZUncompressing Linux... done, booting the kernel.
! K5 H% s3 R# M/ G8 Q[    0.000000] Booting Linux on physical CPU 0
1 u4 I4 H* H, K: b5 G[    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
' e- p7 \% M; B4 O' u[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=000531779 }, b! ^. T+ Y
[    0.000000] CPU: VIVT data cache, VIVT instruction cache- B) J, W: D( i/ j, b6 c
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
1 N# t0 s* {, f[    0.000000] Memory policy: ECC disabled, Data cache writeback
2 a3 B+ w- A# n[    0.000000]  =======> da850_evm_map_io!
8 O% p1 S: ^) K  E[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space& _( o/ G6 g9 R8 Z1 P
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x11 u& z! C5 n) `4 N  ?/ v

$ L1 C! l; I* E* }3 U5 ]
  M+ q; s4 _4 a  U8 {1 i7 v! v9 T8 B3 g1 d" w3 u9 i1 l6 {( y* Q2 d+ R
......8 J$ l: ~; n$ ~5 }
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
- Q9 W8 l& s( P1 {  _. P; ~[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 18 y: R( a# y# M6 v5 Z$ v, }
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
" S% d  v: N1 ]- m# g  ]" z[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
# ]- b1 C( n3 E, p[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
) v- A) g- O( o4 ?3 {* P' X[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
2 j1 \* ^( K6 M0 l7 z' G! h9 Z+ i* `/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS+ D0 [0 r' d% H' ~! m
Starting telnet daemon.
- q3 o$ D9 R9 {) v1 C1 [. {6 @- m+ f/ w( u6 {
....../ O9 _! A4 s# _/ t+ {
Stopping Bootlog daemon: bootlogd.
  o9 E. Q# r5 }" Y) L
! i0 |1 F9 n+ q, f _____                    _____           _         _5 N) _8 r" G  m1 I
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
4 D$ c0 `. C3 O0 i' M|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|4 ]% x( q; W5 d3 M
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|( _7 e) M% w: F' f! L
              |___|                    |___|" c. P" W5 D% t) t1 z4 J

' m9 h6 o* Z( x, m2 t# w+ uArago Project http://arago-project.org tl ttyS21 f1 a3 G" R! r6 G2 e* v

% x+ n# k1 s1 S* `. L, h  ]8 x2 ?Arago 2013.06 tl ttyS2& a+ `  X3 T# L" w5 N8 r
- O# D+ |6 i5 W( [
tl login: root (automatic login)5 w; T8 j( [& Q* \9 p. u; `
, ]2 f# W/ e4 N5 F! z0 e
root@tl:~#
! z0 i9 W& z4 S
. N: j/ e0 w! n* w/ 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
3 \/ r" j0 g- Q5 W" y% v16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

( u. f- ~+ T: R9 W! a% q会是数据线影响,还是片选之间干扰,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:106 J" k: r( Y8 F8 u$ b
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

; \+ m! t3 u1 \! E' O8 LEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
; h; I6 P9 m2 y9 L  Y  lStarting kernel ...
# ~1 v" I: c% O  [Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 00:04 , Processed in 0.059126 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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