我试图在i386个人电脑上移植eCos。
我已经从下载了预先构建的redboot.bin
http://ecos.sourceware.org/ecos/boards/redbootbins/x86pc/
我用U盘启动它
dd conv=同步if/redboot.bin of=/dev/sdb1
从usb启动目标后,我得到“IA2!”目标监视器上的字符串总是,在38400 8n1配置的串行端口上,我什么也没有收到。
我尝试使用i386 elf gdb,但它无法连接到目标并开始打印“忽略错误数据包,继续…”
我还尝试使用configtool为i386构建redboot,但它只能构建库,当我尝试测试时,它会给出错误:cyg_start()的多个定义
我对eCos很陌生,我不知道我做错了什么!!.

最佳答案

好吧,我想好了如何用RealteK RTL8139 eInternet卡在目标i386 pc上启动Redboot。
在U盘上安装grub,
mkdir /mnt/USB && mount /dev/sdx1 /mnt/USB
grub-install --force --no-floppy --boot-directory=/mnt/USB/boot /dev/sdx
使用ecosconfig构建Redboot,确保pci总线的数量少于8个或更多,如果更多,则需要将pci总线范围从pci内部的8个增加到8个。h,我的realtek以太网卡位于总线10 dev 10上,我必须将总线增加到11个,以便Redboot在启动时找到realtek卡。
ecosconfig new pc redboot
configtool ecos.ecc
add common ethernet support
Build Library
在usb上复制redboot.elf。
在grub启动菜单上,
insmod multiboot
multiboot /redboot.elf
boot
就是这样,redboot将使用BOOTP并提供IP地址,然后我可以测试redboot命令,如IP地址、reset、ping、version等。

09-25 22:16