嵌入式开发者社区

标题: linux 内核移植,启动时卡住了 [打印本页]

作者: supeng    时间: 2016-12-19 16:27
标题: linux 内核移植,启动时卡住了
[attach]1724[/attach]
- C% D" z8 ]( k( b9 N# p0 o5 V2 _$ e3 b% I! A1 ]
内核启动就卡在这里了?nandflash和网络启动都是这种错误,不知道为什么?
2 m# O+ g+ a" W1 h& u9 R. H
& H- B6 K! ?$ r! ~7 R! l6 H  R/ f
& ?7 b9 J* R$ `  J
作者: human    时间: 2016-12-19 22:17
确认内核启动时的打印串口是否为uart2
作者: supeng    时间: 2016-12-20 14:25
是串口2,console =ttyS2,115200n8.还有其他原因造成么?
作者: supeng    时间: 2016-12-20 14:25
human 发表于 2016-12-19 22:17& L; g/ n8 i$ V' \2 g8 r$ {8 [1 L
确认内核启动时的打印串口是否为uart2

6 r2 @+ N9 @6 o5 L是串口2,console =ttyS2,115200n8.还有其他原因造成么?
作者: wang253098656    时间: 2016-12-21 09:11
有的,跟启动参数无关,跟内核有关,让我想想,我也遇到过,我记得是内核有问题。
作者: supeng    时间: 2016-12-21 09:14
wang253098656 发表于 2016-12-21 09:11
. ^2 t, D3 B5 Y' |' N. [5 Y1 f有的,跟启动参数无关,跟内核有关,让我想想,我也遇到过,我记得是内核有问题。 ...
8 X) J* ~6 h+ x( W2 r
能留个通信方式么?
作者: wang253098656    时间: 2016-12-21 09:23
原谅我是个彩笔,我只遇到过,但是忘记怎么处理了,嘻嘻
作者: supeng    时间: 2016-12-21 09:30
wang253098656 发表于 2016-12-21 09:233 B' U- h, U6 d, Q( \' o5 K
原谅我是个彩笔,我只遇到过,但是忘记怎么处理了,嘻嘻

* j9 g6 D6 k% D7 d好的谢谢!
作者: human    时间: 2016-12-22 09:21
参考这个看看http://wenku.baidu.com/link?url= ... qq-pf-to=pcqq.group
作者: supeng    时间: 2016-12-22 14:34
human 发表于 2016-12-22 09:213 X) U( o/ l" j3 ^# k1 W4 H5 R" b$ v
参考这个看看http://wenku.baidu.com/link?url=3pklCrDOgf4jVDwSVKM7yiXkEXoS_bZC9pp59SqW2bkEryiHVxQyWJ1e ...
; S5 E) u8 \( {. l7 f- ?$ N3 \
你们的开发板有没有遇到过这种原因!,这个文档上写的和你们给的内核对应不上
作者: vefone    时间: 2016-12-22 21:14
这个问题挺棘手。
7 T8 Y# o5 O3 Ohttp://processors.wiki.ti.com/index.php/Kernel_-_Common_Problems_Booting_Linux: x# |/ a# b; Y
总结为两个原因:
+ H% g& S: N; k- t. _+ X/ L5 W* [1. u-boot串口参数不对或调试串口初始化有问题(主要是pinumux)' w8 D, {: Q* @* M
2. 内核中对外设初始化不成功,导致卡死
; q) s' B, m/ B6 H- H: ]7 d& u3. 其他未知. y  j; g0 }6 ^. y
之前调试这个问题的步骤,十分遗憾,最后没有找出问题所在
! `& |4 a! a4 R启动卡在Uncompressing Linux... done, booting the kernel
! B4 G5 }6 H( ?4 P调试:8 h/ f5 c/ u; M
查看内核中的System.map,寻找 __log_buf的地址# N+ [% ?$ p* a0 T0 H& D1 m9 k' P

! S, q+ I) b( W+ h启动u-boot,让她运行至Uncompressing Linux... done, booting the kernel,按复位键,按下空格。进入u-boot命令行。
" b& A0 Q! b" E% t  T6 u: w# }执行 md 0x8059ff88  查看内核运行过程(注:需将System.map中的 __log_buf的地址最高四位从 C 改为 8)。
2 @6 n0 L9 x" W' b3 `( g; e/ R1 ^& m$ ]  t! y3 S3 s7 P
! A: t+ B$ h: a4 C2 f" s

9 j9 B' d  U7 z; F3 J) d# ?7 s




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4