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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6753|回复: 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错误,掉电重启后可以正常
/ C+ S# j) f. K  d
1 q" f% [" b% \2 |进系统但是SSH应用程序报ubifs读node错误,这种现象会不会是u-boot的bug, 日志文件如下:
7 ?. d7 T$ a9 ?+ u# T: p3 O# o
- e# O8 z" b4 I$ j5 _* U
8 W1 F. _, {' k) J: J0 qU-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)
) a9 C6 e; j6 L5 J7 {* d- i' z" a" f1 w* ?5 A0 u: M$ ~, ^
I2C:   ready+ q1 B6 p* P  n2 u5 Y  r& K
DRAM:  128 MiB  {4 x* K7 c5 u* V
WARNING: Caches not enabled
( t$ c" d3 a& y5 B+ t# i8 _" h- eNAND:  512 MiB
7 Q  j2 k: h4 d$ |0 Q6 n+ AMMC:   davinci: 0
" C9 ], B% E# R: r' ^Bad block table not found for chip 0
* S* _7 n9 \) n* J: V' n0 H4 C& S: iBad block table not found for chip 0  |1 m7 \) g7 `/ F5 J
Bad block table written to 0x00001ffe0000, version 0x01
* O; d+ F; r- S- r+ @/ [Bad block table written to 0x00001ffc0000, version 0x010 w$ u6 R+ C& o; d1 I1 |
In:    serial, O+ r0 q4 k% a+ K
Out:   serial8 ]- j, E& s: w
Err:   serial* A  N6 h& m2 r. ~, t! ^4 K  r
Default using MAC address from environment
1 i6 i% [0 ]& S) V4 A- j" g1 B6 y1 @Net:   DaVinci-EMAC
5 G* x, `5 |4 m9 i3 f, yHit any key to stop autoboot:  0
6 z" t+ p9 y# s5 y0 W3 a& Z) i" s- R) n1 c) l- Z' [8 ]
Loading from nand0, offset 0x120000
* C: d* t  [; x# M3 I, d0 \   Image Name:   Linux-3.3.06 ~3 c$ F+ g0 R' s( I8 Y
   Image Type:   ARM Linux Kernel Image (uncompressed)
& O+ }4 w! I1 ^% V1 N   Data Size:    2843400 Bytes = 2.7 MiB
5 P# `" O3 L2 P1 @0 L5 \2 \: K% W   Load Address: c0008000
$ t- A# v- I. t- m   Entry Point:  c0008000
4 V+ O& J8 V5 i( J## Booting kernel from Legacy Image at c0700000 ...
/ ^% y# `7 j% s9 c6 C- u   Image Name:   Linux-3.3.0. s! Q3 n6 o% |- r" j  b  c
   Image Type:   ARM Linux Kernel Image (uncompressed)2 J$ [) w5 C' I+ B0 s
   Data Size:    2843400 Bytes = 2.7 MiB
/ w8 Y. X; o9 `   Load Address: c0008000- A; F# k. K6 }9 l1 U
   Entry Point:  c0008000
, D- Q- B( A+ x* f+ v   Verifying Checksum ... Bad Data CRC" H$ z* I2 M& D; t$ e
ERROR: can't get kernel image!
0 X6 h; P+ s$ b5 G; c: yU-Boot > Nand boot...
, @$ S! ~( u( q0 _3 d8 ~4 l4 b# c9 r: b( ^3 ]3 H# Q
4 e9 P6 Q+ K0 t" C7 C
U-Boot 2012.04.01-00054-g9a6dfff (Nov 04 2014 - 22:07:15)  z6 L% F" {  V
* l9 q: _0 d8 S  X7 |' Q$ ]
I2C:   ready8 Q: V# e0 O' V, `; j
DRAM:  128 MiB7 T5 O, O1 U0 K7 o0 R0 `7 a" O/ m6 x
WARNING: Caches not enabled
  a$ a( J1 V) Z- W. K. U) JNAND:  512 MiB0 l4 ?% d3 L6 I2 V# w* H
MMC:   davinci: 0
4 n! ?* `, Y: ]+ t8 j! oBad block table not found for chip 0
) t! S1 r1 Q- \. d& O; }8 O$ i; VBad block table not found for chip 0& S( L, q1 Z) r; _! p  i3 k0 r
Bad block table written to 0x00001ffe0000, version 0x01
  t% s  D1 p5 N, G0 K  kBad block table written to 0x00001ffc0000, version 0x01
! Q. A( u  \7 h- T" ?In:    serial) U' H" @0 U' P3 _8 O1 M
Out:   serial3 k' t" X6 d( h7 q* e6 w
Err:   serial6 m' k; H5 x, e# y) f
Default using MAC address from environment0 {* ]0 A( @7 q  Y
Net:   DaVinci-EMAC
! M+ S) t1 y' J1 \Hit any key to stop autoboot:  06 M. e1 e( n9 J0 {
2 b: q$ z, }2 Q  K! H( Y0 L9 L
Loading from nand0, offset 0x120000; z/ W' r! T* M& b, y2 c4 R) ]
   Image Name:   Linux-3.3.07 M! O+ N( C; q' u' b  G; ~
   Image Type:   ARM Linux Kernel Image (uncompressed)
0 C5 u; U5 J* f  D: z# r: O   Data Size:    2843400 Bytes = 2.7 MiB
- H. \7 O. k3 K: T" Q   Load Address: c0008000
+ P+ e. I: H; q   Entry Point:  c0008000# r2 x' P; \" A5 [$ ^+ z/ t, s" q
## Booting kernel from Legacy Image at c0700000 ...
  `8 O$ @2 n* K1 x! a: u   Image Name:   Linux-3.3.08 f" k, p  b# n2 t# z" K7 ~
   Image Type:   ARM Linux Kernel Image (uncompressed)
: R+ a( m9 a8 A% w$ X& A: x4 d   Data Size:    2843400 Bytes = 2.7 MiB
) j. z" d) v1 U; X, U, C   Load Address: c0008000
1 V' [$ L" W6 }4 G' Y   Entry Point:  c0008000
, X* `" H: k1 c' A/ ~0 t   Verifying Checksum ... OK
2 M' ?' \, I7 r/ Z  N* S! [   Loading Kernel Image ... OK( j: G: ~1 g* q3 \$ b
OK
5 B, q- H# R- d; a1 @+ c7 v; `4 C0 B- c( i9 f( i# s+ L$ C. _
Starting kernel ...
8 z6 s8 g5 {8 C1 R# J" D
, p3 j2 I9 }  v* S" o# n: vUncompressing Linux... done, booting the kernel.- j% Y2 B) ^$ Z
[    0.000000] Booting Linux on physical CPU 0
" B1 @) H$ V: Y! _[    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
6 r$ ]; o8 R8 F; j4 z7 K9 z4 Q[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177; L9 s, K1 g1 Q9 D5 i( K
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
/ R  x  i: r6 J3 {! J! W[    0.000000] Machine: DaVinci DA850/OMAP-L138/AM18x EVM- ^) o. k: D  D8 a3 R- d, Y
[    0.000000] Memory policy: ECC disabled, Data cache writeback
  e! V/ V; N' z[    0.000000]  =======> da850_evm_map_io!
+ g! a0 C$ L% X: y) C0 s* t[    0.000000] BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
. ]& \( c2 t) Z" I0 B+ i[    0.000000] DaVinci da850/omap-l138/am18x variant 0x1
% r5 d( Y% p4 z" w, F8 G
! L3 Q9 o4 W$ e! s4 z1 p& T6 t4 N/ I( |6 y1 A3 y+ E$ N: C
5 w  B) N, m9 s$ [
......2 W  y1 J3 k# [3 p
tarting Dropbear SSH server: [   17.173901] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570, b" {# w- j( p8 O
[   17.182220] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1! U' \) h8 w; a/ v
[   17.191623] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22+ e* ~2 d2 Z% Z2 Y5 F
[   17.202389] UBIFS error (pid 1063): ubifs_read_node: bad node length 4082, expected 3570% W& p4 {/ D' {1 G; h: M: ?
[   17.210675] UBIFS error (pid 1063): ubifs_read_node: bad node at LEB 486:101360, LEB mapping status 1# ^! G+ u- M! |0 q) y0 i) c6 I
[   17.220069] UBIFS error (pid 1063): do_readpage: cannot read page 22 of inode 3091, error -22
. {. c* `6 B, A9 W+ T/etc/rc5.d/S10dropbear: line 70:  1063 Bus error               start-stop-daemon -S -x "$DAEMON" -- $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
( U, W# G6 A5 [2 ^, W8 dStarting telnet daemon.5 l# M' k" D  S" v+ _% `

' b) C2 t" }  j* B, N  ~......# }* u) _8 h* m! J8 T# |; G
Stopping Bootlog daemon: bootlogd.
( }8 E0 n7 ?  ~& e: q8 N$ N7 ?3 \9 S& Y. @2 a5 p- b. ~2 M
_____                    _____           _         _3 U' o" n, C% ?0 K  t' K3 s: |- g
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_, e7 t7 }7 y! Z  D4 _+ Z
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
* Y$ ^; Z( D1 `. r$ O5 p|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|: g5 w% }: T6 l5 _% y& |
              |___|                    |___|
0 @, P8 O! S7 x5 `' A# c' @
8 x2 k5 [2 h" W4 _9 EArago Project http://arago-project.org tl ttyS2
" A  ?" Z" g7 T1 S
: y2 Z4 Q5 s! Y, {& k- BArago 2013.06 tl ttyS2
! W+ f+ r: o1 {- s3 d; x5 E- y6 E# r- q/ D6 S
tl login: root (automatic login), e! D  S: p& ~( E, y4 w& V1 O, c! L/ K
- J' [3 a% R: a
root@tl:~#) E, u( ]$ d# o
+ H6 I8 ^7 K7 O8 A! o
分享到:  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
& N4 E* T! b; ?6 w! C8 ?4 K1 V16C554串口芯片是连接在emifa总线,nand flash也是连接emifa总线,有可能被影响了。 ...

- |) R6 m' D' {3 W4 p0 ]. {, c会是数据线影响,还是片选之间干扰,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
; Z" V: w; K- `- F' |& E# F可以参考创龙的多串口模块TL16CP754,就是通过emifa扩展串口,相应的驱动源码,例程都是提供的。 ...

3 V1 w- u: }0 c0 GEMIF相关配置应该是没问题的,spansion的片子在延长总线时序,增加时钟之后,UBIFS逻辑坏块试了1000次反复满规格擦写不会出现,但是某些核心板还是会出现重启后内核bad crc,一般是在更改系统里文件并reboot之后出现,这时在u-boot中reset,又正常了,但是还是会出现在
7 z$ u1 d1 {  n" `- m) OStarting kernel ..., C$ ~& r& s6 q9 E2 D4 ?" U' o
Uncompressing Linux... done, booting the kernel.之后卡住的现象!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-28 05:33 , Processed in 0.040550 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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