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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8309|回复: 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 g$ @$ R# C5 B9 e+ F* U- l- o5 Q7 v6 I* {. g$ z, [9 |
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:8 z; t$ R* `7 s/ P

- d. J2 F: {' D6 F) |: V7 O) p
% f) N' K9 T7 _. sU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
- {( [# F1 M( X% p1 b+ X$ v; h/ ?+ Q! e) [
I2C:   ready) ?$ x3 `$ O8 S/ p8 w* N6 v/ z
DRAM:  128 MiB
. o) l# F3 K- A  n- HWARNING: Caches not enabled+ `, u( z  M; ^2 v) }
NAND:  512 MiB
4 K( }6 ^+ J' S: O2 j# Z+ ZMMC:   davinci: 0
  G9 L1 U! N' \% OBad block table not found for chip 0* w7 a+ E6 ^1 |* i1 Y) m
Bad block table not found for chip 0
7 T" K* @% V% b1 b. q5 V% W/ RBad block table written to 0x00001ffe0000, version 0x01! c% N2 A1 {9 P) C
Bad block table written to 0x00001ffc0000, version 0x01
6 U0 I  ?  b7 {& l+ V4 q% z" cIn:    serial. I, [$ b/ N( ~
Out:   serial! l! @$ g! R; \; H5 {- C3 @4 A, `
Err:   serial
: w3 o7 X6 P& s/ m5 r4 rDefault using MAC address from environment$ e( u0 O; S) M5 V7 J* }
Net:   DaVinci-EMAC
5 ~" i& h. T8 w  EHit any key to stop autoboot:  0
+ Z: [! `! X' M' d# W1 C' `. c2 s% A% Y- x! n3 u2 I) P
Loading from nand0, offset 0x1200005 z3 _, x2 Q! O( \+ n0 P7 U4 q5 u3 B
   Image Name:   Linux-3.3.0& A7 t  K' E/ n7 S" j! U0 B
   Image Type:   ARM Linux Kernel Image (uncompressed)1 y: A) L, u0 O' ~
   Data Size:    2843400 Bytes = 2.7 MiB: x6 @9 I/ P5 _
   Load Address: c0008000
! Q) n! Y  H4 t   Entry Point:  c0008000
) H6 r/ E0 ~- m: n% D7 p: i## Booting kernel from Legacy Image at c0700000 ...
$ A1 {+ h5 S# `   Image Name:   Linux-3.3.0$ V8 q+ q  c6 C, R$ G; t* {
   Image Type:   ARM Linux Kernel Image (uncompressed)& W& K) M7 t- `$ B; w
   Data Size:    2843400 Bytes = 2.7 MiB
/ D$ E1 @; G2 z6 P9 n   Load Address: c0008000% Q7 V/ q  \5 Z/ _7 p* c
   Entry Point:  c0008000! ]9 G; {8 G, W) @* X' o
   Verifying Checksum ... Bad Data CRC
# T4 c0 i# H" w' @7 ]& TERROR: can't get kernel image!% |2 l+ s0 s8 \4 d5 t* t
U-Boot > Nand boot...
/ I/ S4 Z) ~" \+ T, z/ y6 ^4 s+ q
, z/ A: m( d. z0 o5 B- k( d
) q+ ?: x+ w8 V9 DU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)+ C. d9 e8 ~# X% O- E( q
3 R7 e2 d- J! o% w
I2C:   ready
* [% A4 {$ G# Z! P' _1 V7 f9 b6 @DRAM:  128 MiB! q) o) N* x  D* n$ }
WARNING: Caches not enabled5 a+ ]$ x5 a! Y9 P4 m+ `( Y
NAND:  512 MiB
/ l& B. n! e$ S6 _7 _  ~+ O, R1 [MMC:   davinci: 09 x6 C- N4 P3 y  o
Bad block table not found for chip 0
, U7 q# Z- e8 |7 c; x8 W8 f$ eBad block table not found for chip 0
( z8 S4 w; P% l- V( E5 ~' l2 q7 uBad block table written to 0x00001ffe0000, version 0x01/ U! ]7 \. C( ~1 x# G! E
Bad block table written to 0x00001ffc0000, version 0x014 _4 |2 T9 k& h4 P' q- V% K! [
In:    serial
% M6 R; q/ D) Y/ ?3 |2 yOut:   serial& Y- P& q# m8 t$ k( B) t9 `5 i
Err:   serial
0 P& f7 y+ L, `* L% [Default using MAC address from environment
. y: o( k6 A. R; _$ a4 W$ R0 w) yNet:   DaVinci-EMAC
+ T% p- f3 j6 X+ j3 ?1 }Hit any key to stop autoboot:  0- s2 N/ k' A+ _
* k. q* u9 |8 X5 T! @# w
Loading from nand0, offset 0x120000
6 c9 b) U5 z2 K$ {' q   Image Name:   Linux-3.3.0
- F0 R  [6 c% c; ^* o* s   Image Type:   ARM Linux Kernel Image (uncompressed)
  W+ e/ K- k/ R4 c   Data Size:    2843400 Bytes = 2.7 MiB
) ~( v' \/ }3 S+ i* A( ^# d1 }9 g1 W/ C   Load Address: c0008000
4 `' J! A2 \* C   Entry Point:  c0008000
) z. A; }+ m) m. I# [0 z4 Z## Booting kernel from Legacy Image at c0700000 ...
/ S6 T+ U2 }: g/ R$ s   Image Name:   Linux-3.3.05 U) u7 y: f; f& c
   Image Type:   ARM Linux Kernel Image (uncompressed)) C* ^- M" [; d( {
   Data Size:    2843400 Bytes = 2.7 MiB- I% p' |; o* ?! u$ \* I
   Load Address: c0008000
$ d. I+ a( q6 y/ S- X   Entry Point:  c0008000: J' Y9 b" Y) [& n/ Q6 s0 |/ R
   Verifying Checksum ... OK
2 o7 A% r3 q( C9 Z6 ~( C7 O/ J; W   Loading Kernel Image ... OK8 f% g* A# `. }: R! n
OK2 l; \& }) \5 C. d( f

6 ?. o, i4 ~6 L  LStarting kernel ...
( \/ V; K* E0 @6 c; ]0 h" U: c
0 ?3 i& J: ]: P( LUncompressing Linux... done, booting the kernel.
& O" `. M! W( X9 f1 |# ~: V[    0.000000] Booting Linux on physical CPU 00 f& ?0 l+ y+ v6 j. o4 s
[    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: |4 a4 j3 d: N' r$ W3 i, j, q[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177. o! J6 U" W! c
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
$ O2 L3 Q# [8 o[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM
( v% J" C* i4 ^[    0.000000] Memory policy: ECC disabled, Data cache writeback5 Z/ s3 h# c' s) I& r: Y4 i
[    0.000000]  =======> da850_evm_map_io!
! E( _, L( c3 B( H[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space: D9 L- A# N. k+ S
[    0.000000] DaVinci da850/omap-l138/am18x variant 0x14 g) \0 O# ?) ~; F

1 R1 o, g4 m1 b- ?3 V9 j& Q* a1 y. Z+ Z; ~6 o3 N
! K/ N+ g8 H& s2 f/ D. e4 V
......
+ |. E9 U! F8 ?* b; atarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570. g" X  ^9 v- u1 y6 f! N
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
9 K% J. }, c1 Y7 U[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
* r3 @6 ~2 B* o+ m% _2 K[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 35707 O4 l( Z- \* l( _( k
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
& Z  K; I% _5 g1 q6 U4 C[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
2 K5 F! R2 m/ d. c: u' [/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
, J6 d5 y/ J! j! fStarting telnet daemon.
3 g! t! ]: a& S8 D! v- y- p3 R" d7 B( d- l2 n; D: D3 ]/ {  D
......( r6 ]+ c5 }5 c2 L8 X+ E0 Y& @
Stopping Bootlog daemon: bootlogd.
) ?4 L& X6 m/ y3 j3 P4 a  t
4 @! r* k4 h' x4 @$ I _____                    _____           _         _; a5 }* V8 }% K4 w# t1 I; U
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
4 ]0 N1 y9 U' D+ l3 y9 Q% `0 g|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|/ k) }/ l' ?4 _2 T. i3 [- Y
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
' P- m4 f' k( r) A              |___|                    |___|
! P* N: W. P, e* V" s
, C+ b) L! o4 A7 i( p( mArago Project http://arago-project.org tl ttyS25 s1 q3 i2 J& c# H- e: P

  `2 J' R4 A. J' Y9 jArago 2013.06 tl ttyS2
( \' A4 X5 |( S2 p, s5 ?0 P0 R& f4 `0 U' u1 H1 X
tl login: root (automatic login)
' q+ ~; N, C1 q& D4 ?, ]! f8 S, Q8 V! T1 R8 V
root@tl:~#4 h) m& ]. ~& m) T$ n! L$ \
* S/ n/ d0 n, @; |7 j
分享到:  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
  E" C" S0 _% p/ S3 b+ {1 E" z16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
2 D& y6 l' u, c6 k
会是数据线影响,还是片选之间干扰,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:104 @8 V, g5 c0 m: m7 J
可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

" Z1 o  J3 _! n: [6 D$ M+ FEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
4 e$ @( B- R& W7 h: y! @Starting kernel ...
1 a9 y$ q9 M, s9 c7 s. LUncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 09:17 , Processed in 0.055056 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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