选择redboot模板pv_vmware,设置启动floppy。输入redboot_floppy.ecm 设置IP。build tree。build library.
出现错误:
i386-elf-gcc -c -I/cygdrive/e/test/redboot/rb_install/include -I/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0 -I/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src -I/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/tests -I. -I/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/ -finline-limit=7000 -Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-exceptions -D_KERNEL -D__ECOS -Wp,-MD,src/if_lancepci.tmp -o src/devs_eth_amd_lancepci_if_lancepci.o /opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c: In function 'pci_init_find_lancepci':
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c:338: warning: pointer targets in passing argument 2 of 'cyg_pci_translate_interrupt' differ in signedness
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c: In function 'amd_lancepci_init':
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c:528: error: lvalue required as left operand of assignment
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c:541: error: lvalue required as left operand of assignment
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c:556: error: lvalue required as left operand of assignment
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c:559: error: lvalue required as left operand of assignment
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c:589: error: lvalue required as left operand of assignment
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c: In function 'lancepci_start':
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c:733: error: lvalue required as left operand of assignment
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c: In function 'lancepci_send':
/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c:969: error: lvalue required as left operand of assignment
make[1]: *** [src/if_lancepci.o.d] Error 1
make[1]: Leaving directory `/cygdrive/e/test/redboot/rb_build/devs/eth/amd/lancepci/v3_0'
make: *** [build] Error 2
make: Leaving directory `/cygdrive/e/test/redboot/rb_build'
解决方法是
打开/opt/ecos/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c将
HAL_PCI_CPU_TO_BUS(cpd->rx_ring,(cyg_uint8 *)b);等改为HAL_PCI_CPU_TO_BUS(cpd->rx_ring,b);其他类似