嵌入式开发者社区

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

作者: supeng    时间: 2016-12-19 16:27
标题: linux 内核移植,启动时卡住了
[attach]1724[/attach]7 o1 x; a0 K% v  o, p/ x$ N

/ u$ ?' u( X" J4 c内核启动就卡在这里了?nandflash和网络启动都是这种错误,不知道为什么?
+ y7 a, V: z- J# L: {; d. `
4 @$ i0 \& \% c# R2 {1 _, B' C- V' X

作者: 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
3 C7 i; |7 o( z! w, C2 d6 s5 O7 Q确认内核启动时的打印串口是否为uart2
7 ]) m/ K! R* c
是串口2,console =ttyS2,115200n8.还有其他原因造成么?
作者: wang253098656    时间: 2016-12-21 09:11
有的,跟启动参数无关,跟内核有关,让我想想,我也遇到过,我记得是内核有问题。
作者: supeng    时间: 2016-12-21 09:14
wang253098656 发表于 2016-12-21 09:11
6 c7 X  z9 @# L" A1 u9 B有的,跟启动参数无关,跟内核有关,让我想想,我也遇到过,我记得是内核有问题。 ...
5 C! E4 |9 n% N9 b5 K
能留个通信方式么?
作者: wang253098656    时间: 2016-12-21 09:23
原谅我是个彩笔,我只遇到过,但是忘记怎么处理了,嘻嘻
作者: supeng    时间: 2016-12-21 09:30
wang253098656 发表于 2016-12-21 09:23  e6 g7 v6 Q2 e$ @& D
原谅我是个彩笔,我只遇到过,但是忘记怎么处理了,嘻嘻

- R- Y8 X$ `/ x4 ^" l' u好的谢谢!
作者: 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:21
; ^6 Y4 x8 W$ k/ K0 ^) K9 e参考这个看看http://wenku.baidu.com/link?url=3pklCrDOgf4jVDwSVKM7yiXkEXoS_bZC9pp59SqW2bkEryiHVxQyWJ1e ...

, K  w' F& N# S你们的开发板有没有遇到过这种原因!,这个文档上写的和你们给的内核对应不上
作者: vefone    时间: 2016-12-22 21:14
这个问题挺棘手。
# ~: m" v. f) N( d2 Vhttp://processors.wiki.ti.com/index.php/Kernel_-_Common_Problems_Booting_Linux/ \5 `( K( f1 Z  V3 P) Z
总结为两个原因:
( H1 T0 c( `! x* ~, F1. u-boot串口参数不对或调试串口初始化有问题(主要是pinumux)
3 N7 x+ Z6 |, H( j9 N8 S" [2. 内核中对外设初始化不成功,导致卡死5 k. o& f  z, J( ~
3. 其他未知
! K# U# l% Z! E- r& P" m4 z之前调试这个问题的步骤,十分遗憾,最后没有找出问题所在
. }, N# L; C! g& K1 |6 [9 X- b启动卡在Uncompressing Linux... done, booting the kernel
+ t2 V% n+ O" |7 x& }调试:
3 F, S/ s" \7 h+ B! `5 y  K查看内核中的System.map,寻找 __log_buf的地址
$ s  C8 A8 c9 T6 k7 T" O: p: }& m0 U' L1 m/ Y
启动u-boot,让她运行至Uncompressing Linux... done, booting the kernel,按复位键,按下空格。进入u-boot命令行。( P5 Z, y* |0 ^4 l  I! Z; R. C8 F
执行 md 0x8059ff88  查看内核运行过程(注:需将System.map中的 __log_buf的地址最高四位从 C 改为 8)。
+ ^# S/ @0 g( A; ]: F! x  A* |" W- j: f) X+ J3 [

9 \% v# O! [' K- d- ~  i5 Y$ S
. g9 J0 h# p6 ?: {4 K: J$ w/ k




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