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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8153|回复: 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错误,掉电重启后可以正常
" e2 D  Y7 ^3 a! ?" o6 i$ Z+ n( [" ]+ n' P" c0 M
进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:+ R* }, Z! ], u; x& |; U$ C

6 i- b8 t4 P$ C2 k8 k0 @% v/ u
- C7 i. A- L. b: W/ U% aU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)$ R/ ~2 p- h1 U) `) u( D

1 _7 b0 M! z7 DI2C:   ready9 J" R: z7 l6 r. U
DRAM:  128 MiB
6 g* ]  B+ ^( E0 p6 }$ K( _9 ^/ R5 ]! CWARNING: Caches not enabled8 U/ E% l6 s0 G7 I) S
NAND:  512 MiB
5 y6 z6 W0 V- vMMC:   davinci: 0
2 X  M& [2 z& mBad block table not found for chip 0/ w1 q# |- T' h8 ~/ P' h
Bad block table not found for chip 02 t" d* {) i$ [# M: c; W; d$ P. C! U7 ?
Bad block table written to 0x00001ffe0000, version 0x01
& h5 f. u6 \% F: W% z( s0 cBad block table written to 0x00001ffc0000, version 0x01! O  Z7 |% |% z; W( I/ k, ?3 o
In:    serial3 E. d; \+ E2 L. |
Out:   serial. b- S: ~; L1 l. |) d  s0 j
Err:   serial5 x% J- H1 |3 Y0 t8 {+ u
Default using MAC address from environment
' D" e4 _/ k- t! @9 d' bNet:   DaVinci-EMAC
9 O% K7 G( d2 G  [4 f$ JHit any key to stop autoboot:  0
& S4 l7 ?' r% V( `, D
5 m5 j" P) H* RLoading from nand0, offset 0x120000$ p/ K. }( c9 Y& U2 {# |
   Image Name:   Linux-3.3.08 O! U/ [8 g1 ^
   Image Type:   ARM Linux Kernel Image (uncompressed): @% Q0 e8 G0 @8 T; c
   Data Size:    2843400 Bytes = 2.7 MiB0 D* ]- Z) P" n- |
   Load Address: c0008000
& f& n5 p( {, j% v+ z2 G0 g   Entry Point:  c0008000! [% t2 W7 j4 Z3 S
## Booting kernel from Legacy Image at c0700000 ...
; [  z. E5 E4 A$ ?   Image Name:   Linux-3.3.03 E2 q  j. A2 A
   Image Type:   ARM Linux Kernel Image (uncompressed)
3 R' l( w- m6 r* H   Data Size:    2843400 Bytes = 2.7 MiB8 f7 ^' N9 h8 u/ y
   Load Address: c0008000
1 w- L% m7 T% a: L, Z   Entry Point:  c0008000
& ]7 q! f, y1 Q* O   Verifying Checksum ... Bad Data CRC& C2 \$ K& ?* y
ERROR: can't get kernel image!1 [# I3 x# U& g3 _; k" r
U-Boot > Nand boot...8 j( _; h/ n: l+ U4 s$ r9 l

, G0 u4 }5 j8 H/ J' q1 h& L
& b/ W' R5 C. w- |& i( e; bU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
. P& g# G8 b4 y: t2 @8 I1 R8 Q9 G0 `( _7 k
I2C:   ready. S" w9 a5 B1 O2 z. T
DRAM:  128 MiB6 k* U8 S( w- Q  h" p
WARNING: Caches not enabled
$ }1 V+ I: J, ~; ^# ?0 n1 iNAND:  512 MiB
4 \/ i( z: G2 PMMC:   davinci: 0% Z% R: H( S4 H, s8 q0 \
Bad block table not found for chip 0% K  i/ f6 I# j+ ^# V  g9 I
Bad block table not found for chip 0# H; O# ?' }4 ^- d
Bad block table written to 0x00001ffe0000, version 0x01
* b+ ~/ V' b1 p) F8 t/ xBad block table written to 0x00001ffc0000, version 0x01
( v) B7 L6 J; P1 Y/ Q1 d5 {In:    serial
0 T0 L& R, A( X1 lOut:   serial) }3 B' i/ G  G, P& s" K& b" t9 \
Err:   serial* ?3 H$ a, r( Y# f- e
Default using MAC address from environment
8 S+ ?0 m4 W, c0 B" `0 Y/ J3 Z  VNet:   DaVinci-EMAC9 U) Y0 ~; m9 F2 `* c
Hit any key to stop autoboot:  0
7 u4 l8 O7 N( C* T# U, _- l# j- H6 p% Y* e0 n4 E$ y
Loading from nand0, offset 0x120000& x- c: ~3 i  K3 h
   Image Name:   Linux-3.3.0" V1 {6 [" V( T) i# U+ S! G
   Image Type:   ARM Linux Kernel Image (uncompressed)
6 K% e% g% }) r8 y% g   Data Size:    2843400 Bytes = 2.7 MiB
! j5 Z6 V& e4 f   Load Address: c0008000; f! d# {  c5 G" k% X9 P6 X
   Entry Point:  c0008000
! x' M. j, i7 d4 n3 d/ f) {! W- F## Booting kernel from Legacy Image at c0700000 ...( }2 ]9 S& _7 a! E, @# q5 U
   Image Name:   Linux-3.3.0
* ^# I. h  z; H   Image Type:   ARM Linux Kernel Image (uncompressed)
& n: F. h" r) |/ j; P   Data Size:    2843400 Bytes = 2.7 MiB4 I) ^% p8 \; B+ K2 \
   Load Address: c0008000
! _- K- N5 y: c: I/ k7 M/ ~% V/ |   Entry Point:  c0008000# @0 E- _# }5 B) i' u2 a1 d
   Verifying Checksum ... OK
5 m+ q- ^( c! {7 _6 X. U2 e2 @, J3 y   Loading Kernel Image ... OK
% j6 }  h& ]6 UOK
3 d  {% X  i# k/ Z
* D. X4 E# Q) j5 A' GStarting kernel ...
* e" P8 E4 m" V# T, |; w+ a% J) s0 o5 r$ t
Uncompressing Linux... done, booting the kernel.
3 L7 p# v$ H  J1 ^[    0.000000] Booting Linux on physical CPU 0; w& G. l! |. S2 ?% h
[    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
$ F- z: k! P" p[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177% t5 m: `8 p. @( \. m6 O! X! [9 J
[    0.000000] CPU: VIVT data cache, VIVT instruction cache! B+ P% o) B8 a/ i
[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM" K1 w; l% B# g: b  ^0 p
[    0.000000] Memory policy: ECC disabled, Data cache writeback3 Y% B0 c9 o4 j6 x( ^0 F
[    0.000000]  =======> da850_evm_map_io!5 g$ j) U4 w, d  i3 _/ |
[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
& a- T8 j1 H# A% s[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1# @' |' C  {) o' S- {9 p
7 g% A7 }7 O" F* E

4 `5 w! I8 |% e: M- T
7 N& b5 {/ V% q, A  J......( B! F9 \4 L3 M6 P
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570
0 Y7 R8 P9 {& O  c9 N4 @[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
2 L" l+ X& m* \( a, E[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22! k" d0 p0 X9 i! U, K5 b
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 35706 t0 p) a% ]4 m( s
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1
' Y% k- L) _# n$ A' Q[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22% U' F) j, n1 |5 F
/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
4 U7 O5 J0 x3 O! ?% pStarting telnet daemon.
# u# s+ d- V* }: M. q9 H; y7 ^$ R' |
......2 E' @% d  m6 W/ r
Stopping Bootlog daemon: bootlogd.1 p/ x) _6 }7 f2 W# ]& d
. P1 ^# l; k7 A1 P( [
_____                    _____           _         _
$ X/ Z0 s% S0 g) @2 }|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
8 `7 F: C& [& ]3 n3 ~|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|8 ?2 J0 Y' m9 Z3 ]( f  X
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
1 ?7 s& Y0 ]' p1 ?$ Y              |___|                    |___|: o3 _' g+ C- y; K/ _% H; |

4 J! t0 @, a7 h  @7 d3 O" yArago Project http://arago-project.org tl ttyS2- |, g/ S7 P% g$ z% ?

/ q3 ]* r9 }( Z( W* bArago 2013.06 tl ttyS2
8 v' a9 ]6 X* t5 e
( f  y- O  d( ]7 [! Mtl login: root (automatic login)& x, L  e: h1 r& b
2 ]5 B" I. K) E% }
root@tl:~#  g7 v4 E4 B& ~2 b' ]
! d8 G4 M7 W7 o8 F% J8 a
分享到:  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
. U; C; L/ N* Y! B16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...
. ~4 K  M$ L. C8 D" X
会是数据线影响,还是片选之间干扰,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
' a! i% K( t7 S9 u+ x: |( F4 u) Y可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...
9 j- F0 _' E6 C& q2 H2 @* m
EMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在5 x" Y2 s, K: x
Starting kernel ...! k; w9 D. [3 d/ a
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-16 09:59 , Processed in 0.050719 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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