|
楼主 |
发表于 2004-7-29 12:10:18
|
显示全部楼层
首先,声明一下在"很多问题不明白,请高手解答一下吧, 感激不尽!"一文中提到的内核编译问题已经解决了,需要使用binutils-2.12.1版本,而不能用binutils-2.11或者是bintutils-2.13版本. gcc使用gcc-3.2版本,glibc用glibc-2.2.5. 就可以编译了.
然后,我做了几次实验,发现一个奇怪的问题:
1)用上面的编译器进行内核编译后,生成一个vmlinux和boot目录下的zImage文件.直接用zImage进行仿真,skyeye提示说"not in executable format: File format not recognized".
2)然后,用vmlinux进行仿真,如果用下面的步骤的话,就没有任何输出:
(SkyEye) file vmlinux
(SkyEye) target sim
(SkyEye) load
(SkyEye) run
但是如果用下面的步骤的话,就会有输出:
(SkyEye) file vmlinux
(SkyEye) target sim
(SkyEye) run
这时skyeye提示:
Starting program: /usr/src/myEmdOs/testsuits/xscale/xs_only_imagekernel_1/vmlinux
warning: No program loaded.
然后,按ctrl+c, 再执行load,最后执行run. 就会出现上面的输出,但到了
Kernel command line: mem=64M root=/dev/ram ramdisk=8192 ramdisk_start=0xc1000000 console=ttyS0,115200
Console: colour dummy device 80x30
这一行后,就停在那里不动了.
查看源代码,问题好像是出在控制台初始化部分con_init()中,具体还不知道是不是?
我的疑问是为什么在skyeye中用不同的执行步骤,会有不同的结果呢?
最后,dengyl,我已经给你发过去了,请多多指正吧 |
|