hgy1234 发表于 2007-4-17 20:34:37

关于skyeye的几个基本概念。

1. 为什么要有GDB/ARMulator这种架构和开发板?既然可以选择Samsung/4510B,并且在skyeye.conf中把skyeye配置成samsun4510b的虚拟机,并且可以成功跑起uClinux。问题是能否源代码调试samsung4510b的uClinux内核映像,还是只有在ARMulator上才可以源代码调试?应该不至于。

2. 能否调试uClinux上的应用层程序?设置断点、单步等?如何设置断点?

3. skyeye.conf中的hostip是什么意思?假如uClinux是按s3c4510b编译的,在rc中已经可以通过ifconfig eth0配置ip了,skyeye.conf应该只是给uClinux模拟网卡硬件就可以了,至于mac地址和ip应该是操作系统来配置,这里为什么还要配置hostip?做什么用?

4. GDB/ARMulator或者是GDB/Skyeye为什么硬件架构是和at91相同,即skyeye.conf的mach要用at91,如果用其他例如s3c4510b,则在load romfs.img时系统就出错。既然是at91的话,跟直接选ATMEL/AT91,然后编译,然后跑在skyeye有什么区别?这个问题和第1个有点相同。

AnthonyLee 发表于 2007-4-17 23:06:39

Re: 关于skyeye的几个基本概念。

1. 为什么要有GDB/ARMulator这种架构和开发板?既然可以选择Samsung/4510B,并且在skyeye.conf中把skyeye配置成samsun4510b的虚拟机,并且可以成功跑起uClinux。问题是能否源代码调试samsung4510b的uClinux内核映像,还是只有在ARMulator上才可以源代码调试?应该不至于。
你看到的应该只是针对 at91 模拟的介绍。


2. 能否调试uClinux上的应用层程序?设置断点、单步等?如何设置断点?

可以,请参考 gdb remote debug 的相关文档和 SkyEye 的相关文档。


3. skyeye.conf中的hostip是什么意思?假如uClinux是按s3c4510b编译的,在rc中已经可以通过ifconfig eth0配置ip了,skyeye.conf应该只是给uClinux模拟网卡硬件就可以了,至于mac地址和ip应该是操作系统来配置,这里为什么还要配置hostip?做什么用?

hostip 是给运行模拟机的主机用的,也就是为省去你去配置 tap0 的功夫而已。


4. GDB/ARMulator或者是GDB/Skyeye为什么硬件架构是和at91相同,即skyeye.conf的mach要用at91,如果用其他例如s3c4510b,则在load romfs.img时系统就出错。既然是at91的话,跟直接选ATMEL/AT91,然后编译,然后跑在skyeye有什么区别?这个问题和第1个有点相同。
相同厂商不同型号 CPU 的串口、时钟、中断等都有不同,何况不同厂商。

hgy1234 发表于 2007-4-18 11:31:37

Re: 关于skyeye的几个基本概念。


2. 能否调试uClinux上的应用层程序?设置断点、单步等?如何设置断点?

可以,请参考 gdb remote debug 的相关文档和 SkyEye 的相关文档。
用gdbserver当然是可行的方案,但是,如果直接能通过skyeye来调试就更方便了,既然可以调试内核的话,整个映像又是内核+应用程序,没有道理不能直接在应用程序上设置端点。


3. skyeye.conf中的hostip是什么意思?假如uClinux是按s3c4510b编译的,在rc中已经可以通过ifconfig eth0配置ip了,skyeye.conf应该只是给uClinux模拟网卡硬件就可以了,至于mac地址和ip应该是操作系统来配置,这里为什么还要配置hostip?做什么用?

hostip 是给运行模拟机的主机用的,也就是为省去你去配置 tap0 的功夫而已。
哦,原来如此,是不是就像vmware中的VMnet1和VMnet8的ip地址一样,和宿主ip以及uClinux的ip都不在同一个网段,而宿主ip与uClinux的ip则是同一个网段。

1. 为什么要有GDB/ARMulator这种架构和开发板?既然可以选择Samsung/4510B,并且在skyeye.conf中把skyeye配置成samsun4510b的虚拟机,并且可以成功跑起uClinux。问题是能否源代码调试samsung4510b的uClinux内核映像,还是只有在ARMulator上才可以源代码调试?应该不至于。
你看到的应该只是针对 at91 模拟的介绍。


4. GDB/ARMulator或者是GDB/Skyeye为什么硬件架构是和at91相同,即skyeye.conf的mach要用at91,如果用其他例如s3c4510b,则在load romfs.img时系统就出错。既然是at91的话,跟直接选ATMEL/AT91,然后编译,然后跑在skyeye有什么区别?这个问题和第1个有点相同。
相同厂商不同型号 CPU 的串口、时钟、中断等都有不同,何况不同厂商。
这个问题好像没有回答到实质,相同厂商不同型号的东西当然有很多不同,我是想问从硬件的角度讲GDB/ARMulator/Skyeye和ATMEL/AT91有什么不同,我浏览了很多skyeye的文档,好像从一开始,skyeye的模拟架构就是仿at91,所以相近并不奇怪。可能是对ARMulator的机制不是很清楚,所以问题表达不是很达意,按我的理解,ARMulator应该是像GDB一样,把linux-2.4.x/linux跑起来的话,应该就可以调试了。至于架构,那是make menuconfig的事,选s3c4510或是at91,怎么还有一个armulator/skyeye,难道armulator/skyeye有其特有的cpu指令集,如果是,那么skyeye.conf里的mach应该是mach:skyeye/armulator才符合整个思路。

ksh 发表于 2007-5-2 12:23:20

Re: 关于skyeye的几个基本概念。


2. 能否调试uClinux上的应用层程序?设置断点、单步等?如何设置断点?

可以,请参考 gdb remote debug 的相关文档和 SkyEye 的相关文档。
用gdbserver当然是可行的方案,但是,如果直接能通过skyeye来调试就更方便了,既然可以调试内核的话,整个映像又是内核+应用程序,没有道理不能直接在应用程序上设置端点。

Re: 直接用Skyeye再调uCLinux上的应用程序,理论上可以,实践上需要一些工作,目前SkyEye没有做。


3. skyeye.conf中的hostip是什么意思?假如uClinux是按s3c4510b编译的,在rc中已经可以通过ifconfig eth0配置ip了,skyeye.conf应该只是给uClinux模拟网卡硬件就可以了,至于mac地址和ip应该是操作系统来配置,这里为什么还要配置hostip?做什么用?

hostip 是给运行模拟机的主机用的,也就是为省去你去配置 tap0 的功夫而已。
哦,原来如此,是不是就像vmware中的VMnet1和VMnet8的ip地址一样,和宿主ip以及uClinux的ip都不在同一个网段,而宿主ip与uClinux的ip则是同一个网段。

1. 为什么要有GDB/ARMulator这种架构和开发板?既然可以选择Samsung/4510B,并且在skyeye.conf中把skyeye配置成samsun4510b的虚拟机,并且可以成功跑起uClinux。问题是能否源代码调试samsung4510b的uClinux内核映像,还是只有在ARMulator上才可以源代码调试?应该不至于。
你看到的应该只是针对 at91 模拟的介绍。


4. GDB/ARMulator或者是GDB/Skyeye为什么硬件架构是和at91相同,即skyeye.conf的mach要用at91,如果用其他例如s3c4510b,则在load romfs.img时系统就出错。既然是at91的话,跟直接选ATMEL/AT91,然后编译,然后跑在skyeye有什么区别?这个问题和第1个有点相同。
相同厂商不同型号 CPU 的串口、时钟、中断等都有不同,何况不同厂商。
这个问题好像没有回答到实质,相同厂商不同型号的东西当然有很多不同,我是想问从硬件的角度讲GDB/ARMulator/Skyeye和ATMEL/AT91有什么不同,我浏览了很多skyeye的文档,好像从一开始,skyeye的模拟架构就是仿at91,所以相近并不奇怪。可能是对ARMulator的机制不是很清楚,所以问题表达不是很达意,按我的理解,ARMulator应该是像GDB一样,把linux-2.4.x/linux跑起来的话,应该就可以调试了。至于架构,那是make menuconfig的事,选s3c4510或是at91,怎么还有一个armulator/skyeye,难道armulator/skyeye有其特有的cpu指令集,如果是,那么skyeye.conf里的mach应该是mach:skyeye/armulator才符合整个思路。

只是对文件系统的配置不同,内核是一样的,你可以研究一下uClinux目录下的vendor目录里面的东西
页: [1]
查看完整版本: 关于skyeye的几个基本概念。