凌阳科技大学计划论坛

首页 » eCos技术讨论专区 » redboot技术讨论 » 在虚拟机里跑redboot
lameck - 2008-5-6 11:01:00
这里有一个redboot.flp文件,是一个已经编译好的Vmware版的RedBoot,这是已经移植好的在vmware上运行的版本。支持键盘、屏幕,网卡,串口,可以用i386-elf-gdb调试程序,无须硬件开发板。有兴趣的朋友可以下载下来直接设为vmware上的一个虚拟软盘。
就可以在Vmware上启动redboot了.

redboot.rar下载

解压后直接把redboot.flp设为Vmware的虚拟软盘便可以启动了.

见效果图:


 附件: 您所在的用户组无法下载或查看附件

附件: redboot.rar
云里雾里 - 2008-5-6 11:05:00
今天弄了一会,自编译了一个RedBoot,可以在Vmware上跑了。。。

编译RedBoot和在SPCE3200上做差不多:
1、用i386 PC target(vmWare)下的redboot模板建立redboot.ecc,保存在redboot目录下:


2、修改eCos HAL->i386 architecture->i386 PC Target下的Startup type为FLOPPY


导入redboot_FLOPPY.ecm(redboot的最小配置),如下图示:

 附件: 您所在的用户组无法下载或查看附件

 附件: 您所在的用户组无法下载或查看附件
导入即可.

3、编译。build finished之后,在redboot/bin目录下会生成redboot.bin和redboot.elf文件。

4、在cygwin下用3中生成的redboot.bin文件来制作Floppy映象:
        cd到redboot/bin目录下,用下面的命令生成redboot.flp映象:
  $ dd conv=sync if=redboot.bin of=redboot.flp bs=1440k
OK,现在redboot/bin下有redboot.flp文件了。

5、设置vmWare是A盘驱动,并使用4中生成的redboot.flp作为映象。
(注意:把虚拟机的CD-ROM和IED都删掉,否则可能会出错)

6、启动vmWare虚拟机,OK,可以看到redboot启动成功了!

呵呵,我也传一个redboot.flp上来吧,这可是我自己编译的哦~
redboot.rar(2008-5-4 19:25:00, 29.29 K)
该附件被下载次数 0

解压后即可使用~~~
lameck - 2008-5-6 11:12:00
[引用"寂寞歌唱"]
设置vmWare是A盘驱动,并使用4中生成的redboot.flp作为映象。
这一步具体怎么实现阿?
lameck - 2008-5-6 12:19:00
设置vmware的虚拟软盘,与设置虚拟光驱方法差不多


VM->Setting...,在出现的对话框中点Add...:

 附件: 您所在的用户组无法下载或查看附件

在出现的对话框中点Next,出现下图的对话框,选择:Floppy Driver:

 附件: 您所在的用户组无法下载或查看附件
Next,如果示选择Use a floppy image:

 附件: 您所在的用户组无法下载或查看附件
Next,Browse到映像文件(如:redboot.flp),Next->OK即可完成指定。

附件: vm4.JPG
寂寞歌唱 - 2008-5-6 21:30:00
谢谢楼主  好了
test88 - 2008-5-8 9:40:00
传一个支持网络的Redboot Image,运行于Vmware6.0,其他版本Vmware没有测试。

附件: redboot.rar
寂寞歌唱 - 2008-5-15 22:42:00
多谢楼上的了  正愁不知道怎么弄redboot的网络接口呢。那如果是要编译出设定的ip地址的话,该在config tools中怎么设置呢?
leajian - 2008-5-16 10:42:00
传一个在x86平台下带网络的Redboot的配置文件,拿去参考吧 :-)

附件: ecos.rar
云里雾里 - 2008-5-16 11:24:00
谢谢楼版主了!!!
太好了,研究一下,嘿嘿:D
寂寞歌唱 - 2008-5-16 17:17:00
楼上的 楼主给的这个带网络连接的redboot你测试成功没?
leajian - 2008-5-18 0:14:00
呵呵,这个配置文件在我这里是OK的,我用的源码包是大学计划提供的~如果有问题,可以换这一套源码试试~~
另外,其实只要StartupType选择成FLOPPY,最后生成的bin档无需转换成flp档案也可以运行,大家可以试一下 :-)
寂寞歌唱 - 2008-5-19 21:21:00
生成的ecos库文件在ecos的移植过程中什么时候起作用  是用来干什么的?在目标机上运行hello ecos world 应该只是redboot层面的通信。那么ecos库文件时干什么的?
寂寞歌唱 - 2008-5-19 22:40:00
我有问题 :在另一个帖子里:
http://bbs.unsp.com/showtopic.aspx?page=end&topicid=31201#92970
望高手给与解决
leajian - 2008-5-20 22:32:00


引用:
原帖由 寂寞歌唱 于 2008-5-19 21:21:00 发表
生成的ecos库文件在ecos的移植过程中什么时候起作用  是用来干什么的?在目标机上运行hello ecos world 应该只是redboot层面的通信。那么ecos库文件时干什么的?


库文件不是在移植的过程中用的,是在你的ecos移植完毕之后,做应用程序的时候用的~~
ecos的库其实本质上跟我们平时用的其他的库都是一样的,无非就是一大堆函数在里面罗列出来而已,只不过,这些函数为你提供了一些操作系统的任务调度、资源管理、文件系统、网络协议栈等等功能~~~
redboot在ecos程序运行的时候只是负责将程序放到RAM的合适的位置而已,不会有什么其他的作用
hello ecos world跟redboot没有直接关系,但是跟ecos库有直接关系,因为这其实是 AP + ecos lib 二者共同作用出来的结果
bucker - 2008-6-4 19:42:00
我是自己编译了一个按缺省配置的RedBoot在虚拟机上启动成功了,但不知如何使用串口或网口与主机通信,请解答。
leajian - 2008-6-5 9:20:00
缺省设置不包含网卡驱动,所以没办法使用网口~
主机和虚拟机之间串口通信还没试过,呵呵,看有没有试过的高人出来指点下哈~
lameck - 2008-7-6 10:52:00
不好意思啊,以前没有测试功能网络,现在好了,你可以重下一下试试 ~~~
网络功能已经OK~~
hyt - 2008-7-8 16:54:00
楼主,可不可以讲解一下如何支持网卡的呀!
我做了一个redboot,可以设置tftp服务器的IP地址,但是下载程序的时候出现错误,帮助分析一下,谢谢!
hyt - 2008-7-8 17:08:00
图片如下:

 附件: 您所在的用户组无法下载或查看附件
云里雾里 - 2008-7-8 17:30:00
这不是redboot的问题,应该是hello.elf这个文件的问题
你是怎么编译生成这个文件的?
hyt - 2008-7-8 18:45:00
这个hello.elf文件我使用楼主上传的那个redboot就可以下载,也可以正常运行!
但是在我自己制作的redboot中就不可以了!为什么?
云里雾里 - 2008-7-8 19:06:00
你跟楼主的做法一样吗?
我也是按楼主的做的,可以啊...
看看你的哪里有不同...
hyt - 2008-7-9 8:18:00
我重新做了一下,使用“Import”导入那个源代码中的ecm以后就可以了,可以通过网络传输文件了。但是我执行hello程序以后,不能正常退出,只能重新启动虚拟机,是什么原因?盼望高手给予帮助!!!再次拜谢了!:)
云里雾里 - 2008-7-9 14:09:00
个人认为,这个应该是不能退出的吧, redboot引导程序完成后就把控制权交给了应用程序了
应用程序执行完后自然无法再回到redboot....
是这样吗?我自己是这样认为的...
hyt - 2008-7-9 16:55:00
好像是这个意思!但是我也没有搞明白呢!呵呵!等待进一步研究!
云里雾里 - 2008-7-10 17:37:00


引用:
原帖由 云里雾里 于 2008-7-9 14:09:00 发表
个人认为,这个应该是不能退出的吧, redboot引导程序完成后就把控制权交给了应用程序了
应用程序执行完后自然无法再回到redboot....
是这样吗?我自己是这样认为的...


也不知道我这样认为是不是正确?
版主能不能指点一下,谢谢!
goby2004 - 2008-9-29 13:49:00
这样把步骤贴出来,新手很容易看懂了,谢谢热心的人
sjhuang01 - 2008-10-21 15:36:00
KANKAN ,带网络的编不过不知道所为何。
sjhuang01 - 2008-10-23 9:07:00
找到了原因是因为,虚拟机目前的系统内存只有640K,0 ~a0000, 而可用的又只有几十K,所以当下个大点的程序就爆掉了。
现在还处理的是找到这个RAM范围是可以修改,还是找其它办法来处理。
 1 
查看完整版本: 在虚拟机里跑redboot