将eCos移植到i386

时间:2014-02-12 09:37:24

标签: c linux porting rtos ecos

我正在尝试在i386 PC上移植eCos。

我已经从中下载了预建的redboot.bin http://ecos.sourceware.org/ecos/boards/redbootbins/x86pc/

我将它启动到usb磁盘上,使用 dd conv = sync if / redboot.bin of = / dev / sdb1

从usb启动目标后,我得到“IA2!”目标监视器上的字符串始终,在38400 8n1配置的串行端口上,我收到

我尝试使用i386-elf-gdb,但它无法连接到目标并开始打印“忽略错误包,继续......”

我也尝试使用configtool为i386构建redboot,但它只能构建库,当我尝试Tests时,它给出了ERROR:cyg_start()的多重定义

我是eCos的新手,我不知道我做错了什么!!。

1 个答案:

答案 0 :(得分:1)

好的,我想出了如何使用RealteK RTL8139 ehternet卡在目标i386 pc上启动Redboot。

  1. 在usb stick上安装grub,

    mkdir /mnt/USB && mount /dev/sdx1 /mnt/USB

    grub-install --force --no-floppy --boot-directory=/mnt/USB/boot /dev/sdx

  2. 使用ecosconfig构建Redboot,确保pci总线的数量小于8或更多,如果更多,那么需要从pci.h中的8个增加pci总线范围,我有我的realtek以太网卡在总线10 dev 10上,我不得不将总线增加到11,以便redboot在启动时找到realtek卡。

    ecosconfig new pc redboot

    configtool ecos.ecc

    add common ethernet support

    Build Library

  3. 在usb上复制redboot.elf。

  4. 在grub启动菜单上,

    insmod multiboot

    multiboot /redboot.elf

    boot

  5. 多数民众赞成,redboot将使用BOOTP并提供IP地址,然后我可以测试redboot命令,如ip_address,reset,ping,version等。