返回信息流☆─────────────────────────────────────☆
POKER (AA) 于 (Fri Sep 5 09:37:43 2008) 提到:
串口选择smc1,在内核的UPM配置中已经选择了console on UPM等
U-boot正常启动,内核的加载地址为0x0030 0000
Linux Uncompressing Kernel Image ... OK 正常解压缩后就没有任何显示了
我在U-boot中跟踪打印信息,发现到u-boot/common/cmd_bootm.c的do_bootm_linux这个函数中前调用内核的地方还正常,就是调用
(*kernel) (kbd, initrd_start, initrd_end, cmd_start, cmd_end)
这之后就没有反映了,因为uboot已经将控制权交给内核了,但现在没有输出,不知是什么原因?
☆─────────────────────────────────────☆
lester98 (奶瓶) 于 (Fri Sep 5 14:07:33 2008) 提到:
内核定义的debug输出定位到你目前的debug设备上了么?
☆─────────────────────────────────────☆
lester98 (奶瓶) 于 (Fri Sep 5 14:09:11 2008) 提到:
【 在 lester98 的大作中提到: 】
: 内核定义的debug输出定位到你目前的debug设备上了么?
比如你debug串口为ttyS0,你就应该在内核启动参数里加上console=ttyS0,115200
如果设为console=ttyS1,115200或者console=ttyS0,38400都出现像你说的那种现象的
☆─────────────────────────────────────☆
lacrimosa (北邮鲨鱼帮--门板鲨鱼) 于 (Sat Sep 6 07:48:37 2008) 提到:
用仿真器跟linux内核启动时调试信息输出的buffer,有一个全局符号可以查,通过查编译时候产生的符号表查到地址。
如果楼上说过的各种情况都试过了依旧没反应可以试试这样。
☆─────────────────────────────────────☆
lacrimosa (北邮鲨鱼帮--门板鲨鱼) 于 (Sat Sep 6 07:52:00 2008) 提到:
详细:
首先,在System.map符号表文件中找到log_buf的地址,通过仿真器停止处理器的执行后,查看内存中log_buf地址,(*logbuf)保存的是真正输出缓存的地址。由此再次察看(*logbuf)地址,可以得到控制台的输出信息。需要注意log_buf的值和地址,会随每次编译而变化。
☆─────────────────────────────────────☆
lester98 (奶瓶) 于 (Mon Sep 8 12:10:25 2008) 提到:
【 在 lacrimosa 的大作中提到: 】
: 详细:
: 首先,在System.map符号表文件中找到log_buf的地址,通过仿真器停止处理器的执行后,查看内存中log_buf地址,(*logbuf)保存的是真正输出缓存的地址。由此再次察看(*logbuf)地址,可以得到控制台的输出信息。需要注意log_buf的值和地址,会随每次编译而变化。
赞!!
☆─────────────────────────────────────☆
hobby (hobby) 于 (Wed Sep 10 16:20:02 2008) 提到:
我们也遇到了LZ描述的问题,我想问问:Uboot里面执行到"do_bootm_linux"最后是一句“(*kernel) (kbd, initrd_start, initrd_end, cmd_start, cmd_end);”
在这之后Uboot应该就将控制权移交给内核了吧?那么内核从哪里开始执行呢?
我上网搜看人家说是从head.s里面开始执行
☆─────────────────────────────────────☆
hobby (hobby) 于 (Thu Oct 16 16:53:13 2008) 提到:
问题已经解决,两个原因:
1、Uboot中设置的环境变量bootargs不正确,内核初始化时无法指定开发板上对应的串口。
2、Uboot与内核的版本不一致,传递的参数bd(结构体bd_infor定义不同)无法正确解析。
☆─────────────────────────────────────☆
lester98 (奶瓶) 于 (Thu Oct 16 16:55:28 2008) 提到:
赞独立解决问题,更赞解决后跟大家分享
第二个问题是如何发现的呢?难道你能进linux系统并且cat /pro/cmdline ?
【 在 hobby (hobby) 的大作中提到: 】
: 问题已经解决,两个原因:
: 1、Uboot中设置的环境变量bootargs不正确,内核初始化时无法指定开发板上对应的串口。
: 2、Uboot与内核的版本不一致,传递的参数bd(结构体bd_infor定义不同)无法正确解析。
: ...................
☆─────────────────────────────────────☆
volans (酸梨) 于 (Fri Oct 17 17:03:35 2008) 提到:
你的kernel包有问题,你怎么编的zImage?
☆─────────────────────────────────────☆
hobby (hobby) 于 (Fri Oct 17 22:31:47 2008) 提到:
【 在 lester98 的大作中提到: 】
: 赞独立解决问题,更赞解决后跟大家分享
: 第二个问题是如何发现的呢?难道你能进linux系统并且cat /pro/cmdline ?
呵呵 谢谢
因为是串口没打印,一直跟
1、内核编译配置启用kernel hacking,这样可以使用平台的早期打印函数(不是printk),我们的CPU是PPC405EP,对应函数为ppc_md.progress,这个函数在调用start_kernel之前就可以打印了。
2、打印调试,发现在串口初始化函数console_init里面,修改波特率时写寄存器后就无法继续使用早期打印输出了。
3、上面导致无法继续打印的语句是写UART寄存器的,根据配置使用的相关变量一直往回跟,跟到内核初始化时读取bd
4、发现bd读出的值是全F,再比Uboot和内核代码,发现结构体定义不一致。
☆─────────────────────────────────────☆
hobby (hobby) 于 (Fri Oct 17 22:32:18 2008) 提到:
【 在 volans 的大作中提到: 】
: 你的kernel包有问题,你怎么编的zImage?
只是没有打印
☆─────────────────────────────────────☆
hobby (hobby) 于 (Fri Oct 17 22:32:51 2008) 提到:
【 在 lester98 的大作中提到: 】
: 赞独立解决问题,更赞解决后跟大家分享
: 第二个问题是如何发现的呢?难道你能进linux系统并且cat /pro/cmdline ?
“难道你能进linux系统并且cat /pro/cmdline ?”
什么意思?没看懂
☆─────────────────────────────────────☆
lester98 (奶瓶) 于 (Fri Oct 17 22:35:04 2008) 提到:
那样能看到启动参数啊
【 在 hobby (hobby) 的大作中提到: 】
: “难道你能进linux系统并且cat /pro/cmdline ?”
: 什么意思?没看懂
☆─────────────────────────────────────☆
lester98 (奶瓶) 于 (Fri Oct 17 22:35:17 2008) 提到:
赞,这样解决问题很爽
【 在 hobby (hobby) 的大作中提到: 】
: 呵呵 谢谢
: 因为是串口没打印,一直跟
: 1、内核编译配置启用kernel hacking,这样可以使用平台的早期打印函数(不是printk),我们的CPU是PPC405EP,对应函数为ppc_md.progress,这个函数在调用start_kernel之前就可以打印了。
: ...................
☆─────────────────────────────────────☆
hobby (hobby) 于 (Fri Oct 17 23:00:55 2008) 提到:
【 在 lester98 的大作中提到: 】
: 那样能看到启动参数啊
哦,不是Linux启动完毕敲命令看的
一路打印啊
☆─────────────────────────────────────☆
hobby (hobby) 于 (Fri Oct 17 23:01:11 2008) 提到:
【 在 lester98 的大作中提到: 】
: 赞,这样解决问题很爽
呵呵 跟了好久的说
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #3275同步于 2008/12/20
Embedded_System机器人发帖
[合集] PPC Linux Uncompressing Kernel Image ... OK 后没有输
lester98
2008/12/20镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。